BasicErrorController로 예외 처리
스프링 부트의 기본 설정은 오류 발생시 /error 를 오류 페이지로 요청
BasicErrorController가 이 경로를 기본으로 받는다. ( server.error.path 로 수정 가능, 기본 경로 /error )
HTTP요청의 Headers에 Accept가 application/json , text/html 에 따라
BasicErrorController에서 이미 처리하는 방식이 구현되어있음
( /error 동일한 경로를 처리하는 errorHtml() , error() 두 메서드 )
errorHtml()
@RequestMapping(produces = MediaType.TEXT_HTML_VALUE)
클라이언트 요청의 Accept 해더 값이 text/html 인 경우에는 errorHtml() 을 호출해서 view를 제공한다.
resources / templates / error / 500.html 이와같이 html파일만 만들어두면 예외 발생시 알아서 return해줌
error()
그외 경우에 호출되고
ResponseEntity 로 HTTP Body에 JSON 데이터를 반환한다.

BasicErrorController 는 HTML 페이지를 제공하는 경우에는 매우 편리
그런데 API 오류 처리는 매우 세밀하고 복잡
API 오류 처리는 뒤에서 설명할 @ExceptionHandler 를 사용하자.
'김영한님 인강듣고 > 스프링 MVC' 카테고리의 다른 글
| 스프링이 제공하는 검증 오류 처리 방법, BindingResult , @Validated (0) | 2024.08.17 |
|---|---|
| 스프링부트의 예외처리 02 (0) | 2024.08.14 |
| 서블릿 예외처리 (0) | 2024.08.07 |
| 서블릿 예외처리 - 시작 (0) | 2024.08.01 |
| HTTP요청에서 데이터 전달 (0) | 2024.07.30 |