springboot 사용자 정의 오류 페이지
3979 단어 springboot 시리즈
방법 1: Spring Boot에서 모든 오류를 /error에 기본적으로 매핑하여 ErrorController 구현
@Controller
@RequestMapping(value = "error")
public class BaseErrorController implements ErrorController {
private static final Logger logger = LoggerFactory.getLogger(BaseErrorController.class);
@Override
public String getErrorPath() {
logger.info(" ! ");
return "error/error";
}
@RequestMapping
public String error() {
return getErrorPath();
}
}
방법 2: 사용자 정의 오류 페이지 추가
2.1 html : resources/public/error/
404 : resources/public/error/404.html ,
2.2 : templates/error/
5xx : templates/error/5xx.ftl
:templates/error/ resources/public/error/
방법 3: 메모 @ControllerAdvice 사용
/**
*
*
* @param exception
* exception
* @return
*/
@ExceptionHandler({ RuntimeException.class })
@ResponseStatus(HttpStatus.OK)
public ModelAndView processException(RuntimeException exception) {
logger.info(" -RuntimeException");
ModelAndView m = new ModelAndView();
m.addObject("roncooException", exception.getMessage());
m.setViewName("error/500");
return m;
}
/**
*
*
* @param exception
* exception
* @return
*/
@ExceptionHandler({ Exception.class })
@ResponseStatus(HttpStatus.OK)
public ModelAndView processException(Exception exception) {
logger.info(" -Exception");
ModelAndView m = new ModelAndView();
m.addObject("roncooException", exception.getMessage());
m.setViewName("error/500");
return m;
}