RestControllerAdvice로 한곳에서 예외를 관리한다.
공통 예외 응답 Response
public class ErrorResponse {
private int status;
private String message;
private LocalDateTime timestamp;
private List<FieldError> errors;
private String path;
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public static class FieldError {
private String field;
private String value;
private String reason;
...
}
}
최상위 BusinessException을 상속 받는 InvalidValueException, EntityNotFoundException 등