@Nulltiton

Почему не работает глобальный обработчик исключений Spring?

Создал контроллер, который обрабатывает ошибки, после возникновения исключения по http-статуса хочу выдавать кастомную страницу с описанием ошибки:

@ControllerAdvice
public class ErrorsController implements ErrorController {
    @ExceptionHandler(HttpClientErrorException.NotFound.class)
    public String handleNotFound(Model model)
    {
        model.addAttribute("title", "Страница не найдена.");
        model.addAttribute("message", "Страница, которую вы ищете не существует.");
        return "errors/error-custom";
    }
}

Пока что сделал только обработку по 404, намеренно ввожу в поисковую строку неверную страницу, но получаю только самое обычное окно. Проверил в дебаге, он даже не заходит на этот метод. Подскажите, пожалуйста, что я написал не так и верно ли, что мне нужно будет для каждой ошибки писать метод обработки с почти что одинаковым кодом (если код повторяется, то скорее всего это можно реализовать как-то проще). Эту реализацию написал на основании статьи Spring.io (https://spring.io/blog/2013/11/01/exception-handli...)
  • Вопрос задан
  • 106 просмотров
Пригласить эксперта
Ответы на вопрос 1
emekhanikov
@emekhanikov
Разработчик и архитектор программного обеспечения
Добрый день,

Старенькая статья как будто, 2013 года, попробуйте взять самый свежий Spring Boot
тут https://start.spring.io
пример тут посвежее https://www.baeldung.com/exception-handling-for-re...
Там же есть ссылка на GitHub
https://github.com/eugenp/tutorials/tree/master/sp...

Надеюсь поможет
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы