다시살려주기
예외를 호출하면?
오류 페이지 컨트롤러도 JSON 응답 가능하게
추가해주자
정상 출력
런타임 익셉션 -> WebserVercustomiser -> /error-page/500
-> ErrorPageController 방금 만들어준 제이슨 부분 .
다시없애기
예외터짐 -> 서블릿컨테이너까지올라감 - > 스프링부트가 에러페이지 호출
->
이런식으로 된다.
url 기본은 /error
text/html 경우 이런 방식으로 ModelAndView 찾아서
아닌경우는?
ErrorPAgeController 와 흡사하다.
예외가 발생해서 서블릿을 넘어 WAS 까지 예외가 전달되면 HTTP 상태코드가 500으로 처리됨 발생하는
예외 에 따라서 400 , 404 등등 다른 상태코드로 처리하고 싶다..
사용자가 아규먼트를 잘못보낼 때?
원래 500이 떠야됨.. 이미 해버려서 400이떠버렷는데 밑에서 계쏙 알아보자
예외를 해결해주는 해결자를 사용해보자.
빈모델엔뷰 보내주면 정상정상 리턴이다
웹 컨피그에서 extendhandler 추가해줘야됨
정상적으로 400 리턴됨.
was 는 샌드에러받고 에러페이지를 뒤짐
Ex 인경우도 resolveException이 호출되지만 아직코드를
추가하지 않아 따로 처리가 되지 않는다.
지금까지는 컨트롤러 예외 WAS 까지.. 너무 복잡하다.
핸들러 익셉션 리졸버에서 다 해결해버리기.
Basic Error controller
예외 -> responseStatusException
애노테이션에 ..?
response.sendError 리턴 뉴 모델앤 뷰
메시지기능 제공
스프링 내부에서 발생하는 스프링 예외를 해결함
DefaulthandlerExceptionResolver
그러나 상태코드가 200?
정상흐름이 되버리네..
추가로 ? 예외상태 코드도 바꿔줘야된다 .
https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-ann- exceptionhandler-args
컨트롤러에 있는 것들을 한 곳에서 모아서 처리 해준다.