인프런 커뮤니티 질문&답변

기팝님의 프로필 이미지
기팝

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

@ExceptionHandler

@ExceptionHandler

작성

·

362

4

안녕하세요 영한님
@ExceptionHandler public ErrorResult exHandler(Exception e){
log.error("[exceptionHandler] ex", e);
return new ErrorResult("EX", "내부 공통처리 오류");
}
============================================
여기서의
ApiExceptionV2Controller 컨트롤러에서
@ExceptionHandler 를 사용하면 ( 클라이언트에서 의 
accept 가  application/json 일때 값이 잘 넘어가는것을 확인 했습니다.
그런데  accept  가   TEXT/HTML 일때 에는 
 view 페이지가 넘어가는것을 확인했습니다.
이말은 즉 , accept 가 TEXT/HTML 일때 에는  
BasicErrorController 가 작동한다고 보면될까요 ?
 (WebServerCustomizer 의 Bean 은 주석 한상태)

답변 1

6

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 기팝님

이 경우 응답을 @ExceptionHandler에서 응답을 JSON으로 하는데, Accept가 TEXT/HTML이어서 적절한 HTTP 메시지 컨버터를 찾을 수 없어서 추가 예외가 발생합니다.

Could not find acceptable representation

그래서 BasicErrorController가 작동한다고 이해하시면 됩니다.

감사합니다.

기팝님의 프로필 이미지
기팝
질문자

감사합니다

기팝님의 프로필 이미지
기팝

작성한 질문수

질문하기