@Getter
@AllArgsConstructor
public class ErrorResponse {
private int status;
private String message;
}
밑의 json 형태로 반환하기 위해 response entity를 생성한다.
{
"status" : 200,
"message" : "ok"
}
@Getter
@AllArgsConstructor
public enum ErrorCodeEnum {
USER_NOT_FOUND(HttpStatus.NOT_FOUND.value(), "User Not Found"),
USER_ALREADY_EXIST(HttpStatus.CONFLICT.value(), "User Already Exist");
private final int status;
private final String message;
}
json으로 반환할 값을 enum으로 생성한다.
enum명(int status, String message) 형태로 필요한 에러를 선언하면 된다.
@Getter
public class ApiException extends RuntimeException {
private final ErrorCodeEnum errorCodeEnum;
public ApiException(ErrorCodeEnum e){
super(e.getMessage());
this.errorCodeEnum = e;
}
}
예외 처리를 사용하기 위해 공통 Exception을 구현한다.
예외를 보낼 곳에 이런 형태로 사용할 수 있다.
throw new ApiException(ErrorCodeEnum.USER_NOT_FOUND);