스프링/4. 스프링 MVC-2

66. BasicErrorController가 제공하는 정보들

sdafdq 2023. 9. 10. 20:39

스프링 부트가 자동으로 등록해주는 BasicErrorController는 

timestamp

status

error

exception

trace

message

errors

path

등을 model에 담아주기에,

이걸 템플릿에서 활용할 수 있다.

 

하지만 저걸 그래서 템플릿에서 모델에 넣어준 걸 꺼내서 템플릿에 뿌려보면..

해커의 맛있는 밥이다.

 

그래서 사실, 원래 저렇게 안나온다. 저거는 내가

application.properties에 

server.error.include-exception=true
server.error.include-message=always
server.error.include-stacktrace=always
server.error.include-binding-errors=always

이렇게 설정 해줘서 그렇고, 

 

기본은 이렇게 숨겨준다.

 

그냥 개발자 입장에서 필요한 것은 log로 남기고, 

 

클라이언트에게 오류에 대해 제공할 정보는

예쁜 오류페이지와 클라이언트가 오류에 대해 간략히 알 정보정도이다.

 

 

 

 

 

만약, 이러 한 에러 공통처리 컨트롤러의 기능을 변경하고 싶으면, ErrorController 인터페이스를 상속받아 구현하거나,

BasicErrorController를 상속받아 기능을 추가시키면 된다. 그 후 @Controller로 등록하면, 우리가 이렇게 등록한 것으로 사용이 된다.