지금은 404/500 모두에서 json 오류 메시지가 표시됩니다.스프링 부트의 모든 오류에 대한 리디렉션을 설정/설정하는 방법은 무엇입니까?
어떻게하면 모든 404/500에서 특정 오류 페이지로 리디렉션되도록 구성 할 수 있습니까? ...
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return container -> {
container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/error/errorpage"));
container.addErrorPages(new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/error/errorpage"));
};
}
하지만 지금은 그냥 빈 페이지로 리디렉션
솔루션 :
나는 내 초기화 클래스에 다음과 같은 추가 한? 기본적으로 오류 컨트롤러를 구현하고 모두 오류 페이지로 리디렉션하도록합니다. 내 오류 페이지는 WEB-INF/페이지 바로 아래에있는 jsp입니다. 이게 맞습니까?
@RestController
@RequestMapping("/errorpage")
public class SimpleErrorController implements ErrorController {
@Autowired
public SimpleErrorController(ErrorAttributes errorAttributes) {
Assert.notNull(errorAttributes, "ErrorAttributes must not be null");
}
@Override
public String getErrorPath() {
return "/errorpage";
}
@RequestMapping(produces = {"text/html"})
public ModelAndView errorHtml(HttpServletRequest request, HttpServletResponse response) {
response.setStatus(400);
return new ModelAndView("errorpage");
}
}
나를 위해 일하지 않는 =/내가 jsp와 함께 일하고 있다는 것을 언급하는 것을 잊었습니다, 그게 중요합니까? 나는 가능한 모든 오류가 json보다는 오히려이 오류 페이지로 이동하기를 원한다. – iCodeLikeImDrunk
bean 정의를 제거 했습니까? – Andonaeus
예. 나는 모든 것을 되돌리고 당신의 모범을 따랐습니다. 지금은 스프링 부트에 의해 제공되는 에러 콘트롤러를 시험해 보겠습니다. – iCodeLikeImDrunk