백엔드

스프링에서는 어노테이션을 기반으로 ExceptionResolver를 활용하여 API 예외처리를 한다. 스프링 부트가 제공하는 ExceptionResolver는 다음과 같다. ( 위에서부터 우선순위가 높은 ExceptionResolver이다.) ExceptionHandlerExceptionResolver ResponseStatusExceptionResolver DefaultHandlerExceptionResolver ExceptionHandlerExceptionResolver @ExceptionHandler 어노테이션을 찾아 해당 메서드에 작성된 예외 처리를 진행한다. 대부분의 API 예외처리는 이 기능으로 해결한다. @ExceptionHandler 앞서 API예외처리에 있어서 HandlerExceptio..
발생하는 예외에 따라서 400, 404 등 상태코드를 다르게 정의하고 싶을 때는 어떻게 해야할까? ExceptionResolver를 사용하면 된다. ExceptionResolver ExceptionResolver는 말 그대로 컨트롤러(핸들러)에서 발생한 예외를 해결하는 역할을 한다. 앞서 예외를 보면 컨트롤러에서 예외가 발생하면 수 많은 단계를 거쳐 WAS까지 전달되게 되는데, 이 ExceptionResolver를 사용하게 되면 WAS까지 예외가 던져지지 않고 여기서 해결이 가능하다. ExceptionResolver를 사용하지 않으면 예외가 WAS까지 전달되어 WAS에서 서버 내부 오류로 인식해 500 상태코드를 전달하게 된다. 하지만, ExceptionResolver를 적용하면 예외를 Exception..
thk_dev
'백엔드' 태그의 글 목록