Spring MVC 2편 API 예외처리 - @ExceptionHandler, @ControllerAdvice

신재원·2023년 3월 21일
1

Spring MVC 2편

목록 보기
22/26

🐱‍🏍 HTML 화면 오류 vs API 오류

  1. HTML 화면 오류일경우 단순히 5xx, 4xx 관련된 오류 화면을 보여주면된다.
  1. API 오류일경우 예외 상황에 따라 단순히 오류 화면을 보여주는 것이 아니라, 세밀한 제어가 필요하다.
    • API 예외 처리시 ModelAndView를 반환 하지 않아도된다.
    • 다른 컨트롤러에서 예외를 서로 다른 방식으로 처리해야한다.
  • 결론 : 스프링은 API 예외 처리 문제를 해결하기 위해 @ExceptionHandler 어노테이션을 제공한다. (실무에서 API 예외처리는 대부분 이 기능 사용)
  • (API 오류일 경우 Json 형태로 그대로 반환)
  • (작성한 Controller 내에서만 작동한다)

    정리 :@ExceptionHandler 어노테이션 선언하고, 해당 컨트롤러에서 처리하고 싶은 예외를 지정해주면 된다.

3. @ControllerAdvice 어노테이션

  • @RestControllerAdvice을 사용해서 예외를 깔끔하게 처리할수있었다. 정상코드와 예외 처리 코드가 하나의 컨트롤러에 섞여있어 @RestControllerAdvice 사용해서 분리할수 있다.

  • 대상 컨트롤러를 패키지경로, 타겟 컨트롤러로 지정해줄수있다)

0개의 댓글