본문 바로가기
Web/Spring Boot

[Spring] @RestControllerAdvice

by foreverever 2019. 7. 16.
반응형

서버단에서 로직을 처리하는 과정에서 발생하는 예외를 통합관리하고, 그 결과를 클라이언트에 반환해준다.

 

설정방법

@RestConroller가 붙어있는 api컨트롤러에서 발생하는 예외를 캐치하겠다는 의미

 

구현부

 

  • 클래스 내부의 메서드들은 특정 Exception에 대해 처리하는 로직이 들어있다.
  • @ExceptionHandler(CannotUpdateException.class) 는 CannotUpdateException (직접 만든 RunTimeException)이 발생했을 경우, 해당 메서드를 실행하겠다는 의미이다.
  • @ResponseStatus 는 말그대로 응답헤더의 Http Status Code를 지정해주는 것이다.
  • ErrorMessage는 클라이언트에게 반환하는 객체로, 예외 내용을 담고 있다.

 

exception 발생 위치

 

궁금한 점

예외 처리를 ErrorMessage라는 객체를 생성해서 반환하게끔 했는데, 굳이 ErrorMessage를 만들 필요가 있는지 의문이다.

다음과 같이 Exception 자체를 반환하면 안될까?

 

반응형

'Web > Spring Boot' 카테고리의 다른 글

[DI] 생성자 주입을 사용하자  (0) 2022.06.21
@EventListener & @PostConstruct  (0) 2022.06.09
[Spring] AOP  (0) 2019.06.26
[Spring] DI (Dependency Injection)  (0) 2019.06.24
[Spring] Logback 사용법(gradle)  (0) 2019.06.18