본문 바로가기

dev/스프링

Spring RestControllerAdvice

스프링 컨트롤러에서 예외 처리를 try-catch가 아닌 다른 방법으로 처리하는 방법이 있습니다.
 
@RestControllerAdvice를 사용하는 방법인데 try-catch를 일일이 사용하는 것이 아니라 한 군데에서 처리할 수 있습니다.
 

@RestControllerAdvice 적용 전 컨트롤로

 
위의 @RestControllerAdvice 적용 전 컨트롤러 코드를 보게 되면 try-catch를 사용해 예외를 처리하고 있습니다.
 
이렇게 하면 중복되는 코드가 많아지고 가독성도 떨어져서 좋은 방법이 아닙니다.

 

@RestControllerAdvice 적용 후 컨트롤러

 

@RestControllerAdvice 예제 코드

 
@RestControllerAdvice를 사용하면 예외를 전역적으로 처리할 수 있습니다.
 
@ExceptionHandler는 특정 예외가 발생했을 때 해당 예외를 처리하는 어노테이션입니다.
 
Exception 예외 처리는 17~28라인 handleException 메소드에서 처리하고
 
RedisConnectionFailureException 예외 처리는 30~41라인 handleRedisConnectionException 메소드에서 처리하고 있습니다.
 
@RestControllerAdvice를 사용하면 컨트롤러에서 발생하는 예외 처리를 한 군데에서 관리하기 때문에 코드 유지보수 효율성에 장점이 있습니다.

'dev > 스프링' 카테고리의 다른 글

Spring ClassPathResource  (0) 2024.04.21
Spring Controller ResponseEntity  (0) 2024.04.20
Spring Boot Redis 연계  (0) 2024.03.28
Spring Boot Redis Suscriber WebSocket  (0) 2024.02.29
Spring Boot Redis Subscriber  (0) 2024.02.08