반응형
스프링 부트 오류페이지에 관한 내용
스프링 부트가 자동으로 구성한 기본 오류 핸들러는 'error'뷰를 찾는다. 찾을 수 없을 경우 기본 Whitelabel 뷰를 사용한다. "error"라는 이름으로 해석될 사용자 정의 뷰를 생성하는 것이 오류 페이지를 가장 쉽게 사용자 정의하는 방법이다.
다음과 같이 오류 뷰를 해석할 때 사용될 뷰 리졸버(View Resolver)에 따라 달라진다.
- 스프링의 View 인터페이스를 구현하며 ID가 "error" 인 빈(스프링의 BeanNameViewResolver가 해석)
- Thymeleaf를 사용한다면 Thymeleaf 템플릿 error.html
- FreeMarker를 사용한다면 FreeMarker 템플릿 error.ftl
- Velocity를 사용한다면 Velocity 템플릿 error.vm
- JSP를 사용한다면 JSP템플릿 error.jsp
error.html의 파일 위치는
/resources/templates/error.html
기본적으로 스프링 부트에서 오류 뷰에서 다음 오류 속성을 표시할 수 있도록 제공한다.
- timestamp : 오류 발생 시각
- status : HTTP 상태 코드
- error : 오류 발생 이유
- exception: 예외 클래스 이름
- message : 예외 메시지 (예외 때문에 발생한 오류일 때)
- errors : BindingResult 예외로 발생한 모든 오류(예외 때문에 발생한 오류일 때)
- path : 오류가 발생했을 때 요청한 URL 경로
path를 비롯한 몇몇 속성은 사용자에게 문제를 알려줄때 유용하다. 예를 들어 trace는 가급적 사용하지 말고 숨기거나 오류 페이지에서 영리하게 사용하여 오류 페이지를 될 수 있으면 사용자 친화적으로 표시해야 한다.
반응형
'프로그래밍 > Spring' 카테고리의 다른 글
6. 스위프트 변수와 상수 (0) | 2019.02.13 |
---|---|
5. 스위프트의 문자열 보간법 (0) | 2019.02.13 |
스프링 부트 프로퍼티 설정 방법 (0) | 2019.01.10 |
java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null" 해결 (0) | 2019.01.10 |
스프링 부트의 자동구성에서 사용하는 조건 @Annotaion (0) | 2019.01.09 |