https://drive.google.com/file/d/1FWKEfEcub_ZNuPb5Qflej8gwX3GSHG80/view?usp=drive_link
실행 방법
실행 명령어 : java -jar -Dspring.profiles.active={dev} jjan_back_renewal-0.0.1-SNAPSHOT.jar
자바 버전 : Java 17
데이터베이스 : H2
public class GenericResponse {
public GenericResponse() {
this.statusCode = 200;
this.message = "OK";
}
public int statusCode;
public String message;
}
다음과 같은 GenericResponse를 상속받아 해당하는 API 요청에 알맞은 객체를 정의하여 응답하게 됩니다. GenericResponse 객체의 statusCode와 message에는 해당하는 요청에 알맞은 결과에 알맞은 값들이 담기게 될 예정입니다. 예를 들어 존재하지 않는 데이터를 요청 시에는 statusCode = 404, message = “NOT FOUND”가 담기고, 정상적인 요청 시에는 statusCode = 200, message = “OK”가 담기게 됩니다.
다음으로 GenericResponse를 상속하는 객체의 예시를 들어보겠습니다.
public class LoginResponse extends GenericResponse {
public User user;
// ...
}
LoginResponse의 경우, 요청으로 전달된 LoginRequest를 통해 로그인 성공 시 유저 데이터를 담아 응답으로 보내주게 되는 객체입니다. 이 때, 만약 LoginRequest의 정보로 로그인이 불가능할 때, 서비스단에서 statusCode = 404, message = “NOT FOUND”로 만들어 해당 회원 정보가 없음을 알립니다. 따라서 로그인 성공 시와 실패 시 반환되는 JSON 결과는 다음과 같습니다.
// 로그인 성공 시
{
"statusCode" : 200,
"message" : "OK",
"user": {
// user 정보...
}
}
// 로그인 실패 시
{
"statusCode" : 404,
"message" : "NOT FOUND",
"user": null
}
백엔드 단의 경우, 다음과 같은 흐름으로 진행됩니다.