본문 바로가기
728x90
반응형

@ExceptionHandler2

[Spring] API 예외 처리 - @ExceptionHandler 와 @ControllerAdvice @ExceptionHandler HTML 화면오류 vs API 오류 웹 브라우저에 HTML 화면을 제공할 때는 오류가 발생하면 BasicErrorController 를 사용하는게 편하다. 이때는 단순히 5xx, 4xx 관련된 오류 화면을 보여주면 된다. BasicErrorController 는 이런 메커니즘을 모두 구현해두었다. 그런데 API는 각 시스템 마다 응답의 모양도 다르고, 스펙도 모두 다르다. 예외 상황에 단순히 오류 화면을 보여주는 것이 아니라, 예외에 따라서 각각 다른 데이터를 출력해야 할 수도 있다. 그리고 같은 예외라고 해도 어떤 컨트롤러에서 발생했는가에 따라서 다른 예외 응답을 내려주어야 할 수 있다. 한마디로 매우 세밀한 제어가 필요하다. 예를 들어서 상품 API와 주문 API는 오.. 2023. 12. 4.
[Spring] API 예외 처리 - 스프링이 제공하는 ExceptionResolver API 예외 처리 - 스프링이 제공하는 ExceptionResolver 스프링 부트가 기본으로 제공하는 ExceptionResolver 는 다음과 같다. HandlerExceptionResolverComposite 에 다음 순서로 등록 1. ExceptionHandlerExceptionResolver 2. ResponseStatusExceptionResolver 3. DefaultHandlerExceptionResolver → 우선 순위가 가장 낮다. ExceptionHandlerExceptionResolver @ExceptionHandler 을 처리한다. API 예외 처리는 대부분 이 기능으로 해결한다. ResponseStatusExceptionResolver HTTP 상태 코드를 지정해준다. 예) @.. 2023. 12. 3.
728x90
반응형