Есть много способов добиться пользовательской страницы ошибок. Один простой способ - использовать /resources/public/error/404.html
, что нежелательно в вашем случае.
Опция: 1
Не могли бы вы попытаться настроить ControllerAdvice .
application.properties
spring.mvc.throw-exception-if-no-handler-found=true
----------------------
@ControllerAdvice
class YourApplicationExceptionHandler {
@ResponseStatus(HttpStatus.NOT_FOUND) // 404
@ExceptionHandler(NoHandlerFoundException.class)
public ModelAndView handleNoHandlerFoundException() {
return new ModelAndView("viewName");
}
}
Вариант 2:
Если у вас есть какой-либо другой путь, определенный для ошибки, вы можете просто изменить путь / error. В вашем контроллере определите соответствующее отображение пути и маршрут к пользовательскому представлению.
server.error.path=/yourcustomerrorpath
Вариант 3: Использование ErrorController
@Controller
public class MyCustomErrorController implements ErrorController {
@RequestMapping("/error")
public String handleError() {
return "globalerrorview";
}
@Override
public String getErrorPath() {
return "/error";
}
}