ExceptionHandler와 ControllerAdvice를 알아보자
예외 처리 방법
- 스프링 부트에서는 기본적으로 제공되는 에러 페이지가 표시됨
- @ExceptionHandler 어노테이션을 사용하여 예외를 핸들링할 수 있음
- value 속성을 통해 원하는 예외를 지정하고 이를 처리할 수 있음
- 자식 클래스도 지정된 예외에 해당하면 처리됨
- 여러 컨트롤러에서 같은 처리를 하려면 코드 중복이 발생함
@ControllerAdvice 어노테이션
- 스프링 부트 애플리케이션에서 전역적으로 예외를 핸들링할 수 있는 어노테이션
- @ResponseBody 어노테이션을 사용하여 응답을 Json 형식으로 처리할 수 있음
ResponseEntityExceptionHandler
- 스프링에서 제공하는 추상 클래스로, 스프링 예외를 처리하는 데 사용됨
- 오버라이딩을 통해 에러 응답을 보낼 수 있음