모든 컨트롤러 메서드를 try/catch로 감싸는 대신, Spring은 @ControllerAdvice(또는 @RestControllerAdvice)가 붙은 하나의 클래스에 오류 처리를 집중시킬 수 있게 합니다. @ExceptionHandler가 붙은 메서드는 컨트롤러 어디서든 던져진 예외를 잡아 일관된 HTTP 응답으로 바꿉니다.
전역 핸들러
java
{
ApiError {
(, ex.getMessage());
}
ApiError {
ex.getBindingResult().getFieldErrors().stream()
.map(e -> e.getField() + + e.getDefaultMessage())
.collect(Collectors.joining());
(, msg);
}
}
