@ExceptionHandler를 사용했을 때 예외 처리 코드가 중복 되는 문제를 개선해 보도록 하겠습니다.
특정 클래스에 @RestControllerAdvice 애너테이션을 추가하면 여러 개의 Controller 클래스에서 @ExceptionHandler, @InitBinder 또는 @ModelAttribute가 추가된 메서드를 공유해서 사용할 수 있습니다. 즉, 예외 처리를 공통화할 수 있다는 것입니다.
예외를 처리할 ExceptionAdvice 클래스에 @RestControllerAdvice 애너테이션을 추가하면 이 클래스는 이제 Controller 클래스에서 발생하는 예외를 도맡아서 처리하게 됩니다.