• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

WebServerCustomizer @Component를 제거했을 경우

22.02.03 20:55 작성 조회수 212

0

제목처럼 제거했을 경우에 

Postman 으로 예외 경로 날릴 때,  (Accept */*)

전 강의 예외처리와 같이 /error/500 이 호출 될 줄 알았으나, 

아래와 같이 호출 되더라구요 

"timestamp": "2022-02-03T11:49:08.588+00:00",
"status": 500,
"error": "Internal Server Error",
"exception": "java.lang.RuntimeException",
"path": "/api/members/ex"
}

그러나 브라우저를 통해 호출한 결과 에러 페이지가 잘 뜹니다. (/error/500)

 

인터셉터에서 확인한 결과 

postman 호출시 ModelAndView Null

브라우저 호출 시 ModelAndView error/500 

입니다. 

 

혹시 어떤 차이가 있는지 알 수 있을 까요 ?

 

 

 

 

답변 1

답변을 작성해보세요.

0

안녕하세요. 김연규님

전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.

구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx

 

주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요

 

추가로 다음 내용도 코멘트 부탁드립니다.

1. 실행 방법을 알려주세요.

2. 어떻게 문제를 확인할 수 있는지 자세한 설명을 남겨주세요.

감사합니다.

 

김연규님의 프로필

김연규

질문자

2022.02.07

아 해결했습니다. 

원인은 WebServerCustomizer의 @Component 를 제거했을 경우, 

스프링의 BasicErrorController에서 잡아주는데, 브라우저의 경우 contentType이 text/html 로 들어가고 Postman은 application/json 으로 들어가기 때문에 

브라우저호출 시 BasicErrorController의  text/html로 produces된 메서드를 사용해서 에러 페이지가 잘 보이고, 

postname 호출 시 default로 된 메서드를 사용하여 위와 같이 나왔습니다.

혹시나 postman에서 contenttype을 text/html 로 변경해서 호출해보니 에러페이지가 뜨네요.. 

 

감사합니다!