Jetzt alle 404/500 führt zu einer JSON-Fehlermeldung.Wie konfiguriert man eine Weiterleitung für alle Fehler im Spring Boot?
Wie kann ich es so konfigurieren, dass auf allen 404/500 nur auf eine bestimmte Fehlerseite umleiten?
Ich habe folgendes meine initializer Klasse hinzugefügt:
@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"));
};
}
Aber jetzt auf eine leere Seite ... es leitet nur
Lösung? Ich habe im Grunde genommen den Fehler-Controller implementiert und erzwinge, dass alle auf die Fehlerseite umgeleitet werden. Meine Fehlerseite ist eine JSP, die direkt unter WEB-INF/Seiten lebt. Jetzt ist das korrekt?
@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");
}
}
funktioniert nicht für mich =/vergessen zu erwähnen, ich arbeite mit JSP, ist das wichtig? Ich möchte alle möglichen Fehler, nur zu dieser Fehlerseite gehen, anstatt die JSON, die es ausspuckt .. – iCodeLikeImDrunk
Haben Sie Ihre Bean-Definition entfernen? – Andonaeus
ja. Ich habe alles wieder rückgängig gemacht und bin deinem Beispiel gefolgt. gerade jetzt im Test einige Fehler Controller von Spring-Boot zur Verfügung gestellt – iCodeLikeImDrunk