Если вы используете Spring Boot версии 1.4+, пользовательские страницы ошибок могут быть названы в соответствии с их соответствующим кодом ошибки (например, 404.html) и помещены в каталог / src / main / resources / public / error для статических файлов или каталог / src / main / resources / templates / error при использовании механизма шаблонов. См. Spring Boot и пользовательскую страницу ошибки 404 для получения дополнительной информации. В качестве альтернативы вы можете выполнить следующие шаги для реализации пользовательских страниц ошибок.
Установите для свойства server.error.whitelabel.enabled значение false в файле application.properties. Это отключит страницу ошибки и покажет страницу ошибки, происходящую из базового контейнера приложения.
server.error.whitelabel.enabled=false
Создайте пользовательские страницы ошибок и сохраните их в каталоге ресурсов / шаблонов. Эти страницы могут быть созданы и названы для разных кодов состояния HTTP, например: ошибка-404, ошибка-500 и т. Д.
Создайте новый класс Controller, который реализует интерфейс ErrorController, и переопределите метод getErrorPath. Создайте сопоставление для пути, возвращаемого методом getErrorPath. Метод, который обрабатывает это сопоставление, может прочитать код ошибки и вернуть соответствующую пользовательскую страницу ошибки.
@Controller
public class MyErrorController implements ErrorController {
private static final String ERROR_PATH = "/error";
@RequestMapping("/error")
public String handleError(HttpServletRequest request) {
Object status =
request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);
if (status != null) {
Integer statusCode = Integer.valueOf(status.toString());
if(statusCode == HttpStatus.NOT_FOUND.value()) {
return "error-404";
}
else if(statusCode == HttpStatus.INTERNAL_SERVER_ERROR.value()){
return "error-500";
}
}
return "error";
}
@Override
public String getErrorPath() {
return ERROR_PATH ;
}
}