스프링

잘 못 처리한 @ControllerAdvice를 수정하기

salmon16 2024. 8. 5. 15:44

 

개요

프로젝트에서 ControllerAdvice를 사용해서 에러를 처리하는 중 이상한 버그가 발생했다. 

아래와 같이 에러가 처리되는 것이 아닌 무한로그가 찍히면서 요청이 종료되지 않는 것이다.

 

 

 

문제  분석

 

문제를 분석한 결과 

ControllerAdvice에서 에러를 처리할 때 ResponseBody로 처리하지 않아 에러 부분을 스프링에서

no static resource에러를 발생한 것이다.

 

 

 

해결

 

아래와 같이 ControllerAdvice클래스에 ResponseBody를 추가해 해결해 주었다.

@ControllerAdvice
@ResponseBody
public class GlobalExceptionHandler {

아래와 같이 에러를 옳게 처리하는 것을 확인할 수 있다.