Итак, получается, что выход getErrorPath
не используется для перенаправления на RequestMapping
из handleError
.
Если вы предоставите следующее ErrorController
, при ошибке он будет по-прежнему перенаправлять на /error
при возникновении ошибки:
@Controller
public class MyErrorController implements ErrorController {
@RequestMapping("/error")
public String handleError() {
return "customError";
}
@Override
public String getErrorPath() {
return "/some-non-existing-path";
}
}
Я даже обнаружил, что работает следующий код, и RuntimeException
никогда не срабатывает:
@Controller
public class CustomErrorController implements ErrorController {
@RequestMapping("/error")
public String handleError() {
return "customError";
}
@Override
public String getErrorPath() {
throw new RuntimeException("This will not be called.");
}
}