@ControllerAdvice는 모든 컨트롤러에 대한 처리를 해줄 수 있다(ex initBinder 라던지...)
그러나 보통 컨트롤러에 대한 예외처리기로 대부분 사용하게 된다.
위의 코드는 @ControllerAdvice를 통해 예외처리를 해주는데, UserNotFoundException 이라는 class 를 따로 만들어줘서
예외처리를 custom 하게 처리할 수 있게끔 만들었다.
첫번째의 handleAllExceptions 메서드는 모든 Exception에 대해 INTERNAL_SERVER_ERROR의 상태를 가지게끔 만들었다.두번째 메서드는 UserNotFoundException의 경우에만 들어가게끔 해주었다.
그리고, 양 메서드 둘 다 ExceptionResponse라는 내가 따로 만들어준 Object로 받아주었다.
밑의 코드가 바로 그것이다.
첫 번째 메서드만 추가하고 돌렸을 때에는 아래와 같이 출력되었다.
notfound를 따로 설정하는 메서드를 추가하고 나서는 아래와 같이 출력되었다.
'Spring' 카테고리의 다른 글
[Spring] @JsonFilter 를 이용한 필드값 필터링하기 (0) | 2020.09.16 |
---|---|
[Spring] @Valid 를 이용한 Exception처리와 ThymeLeaf 처리 (0) | 2020.09.15 |
[Spring] @ResponseStatus 를 이용해 예외 상태 변경하기 (0) | 2020.09.15 |
[Spring] PathVariable 사용법 (0) | 2020.09.15 |
[Spring] UriComponentsBuilder 사용하기 (0) | 2020.09.15 |