해결된 질문
작성
·
221
0
제가 모든 error를 정해진 form에따라 응답하고 싶은데,
어떻게 할까 하다가 방법을 BasicErrorController를 커스텀해서 사용해야겠다 생각했습니다.
CustomErrorController의 코드는 다음과 같습니다.그런데 응답값에 오류 message가 들어가지 않아서
디버깅해봤는데, request안에 attribute안에 jakarta.servlet.error.message에 빈문자열이 들어가있는걸 확인했습니다.
이게 response.sendError(400, "400에러 발생!"); 과 같이 할경우에는 message에 값이 들어가고,
throw new RuntimeException("에러 발생") 과 같이 예외를 던질때만 message에 값이 담기지 않습니다.
도움주시면 감사하겠습니다.
답변감사합니다.
하나만 더 여쭤보겠습니다.
@ControllerAdvice가 DefaultHandlerExceptionResolver보다 우선순위가 높은데 @ControllerAdvice를 사용할 경우에는 보통 DefaulHandlerExceptionResolver까지 Exception이 전달되지 않도록 @ControllerAdvice에서 모든 Exception에 대한 처리를 하나요?