К какому классу относится ошибка Spring Boot 404? - PullRequest
0 голосов
/ 26 января 2020

У меня нет сопоставления для нескольких URL-адресов для моего приложения Spring Boot. Например, это: enter image description here

У меня есть ExceptionHadler:

    @RestControllerAdvice(annotations = RestController.class)
    public class RestExceptionHandler {

        @ExceptionHandler(NotFoundException.class)
        protected ResponseEntity<String> handleNotFoundException() {
            return ResponseEntity.status(HttpStatus.NOT_FOUND).body(new NotFoundException().getMessage());
        }
    }

И я хочу обработать это исключение в моем обработчике. NotFound, представленное здесь, является моим пользовательским исключением. Какой класс / тип ошибки Whitelabel, и как я могу справиться с ней так же, как я обращаюсь со своим собственным NFE?

Ответы [ 2 ]

2 голосов
/ 26 января 2020

Это соответствует случаю, когда вы пытаетесь вызвать URL, который вообще не отображается.

Совет контроллера может помочь в тех случаях, когда указанный контроллер c сам создает исключение, но здесь, у вас даже нет контроллера, поэтому совет контроллера не имеет значения. Страница ошибок - это запасной вариант пружины MVC для подобных случаев.

Если вы хотите настроить эту страницу ошибок, вы можете прочитать этот учебник

Вы также можете Интересно прочитать мой ответ в этой теме , где я описал, как пружина MVC работает под капотом и когда применим совет контроллера.

1 голос
/ 26 января 2020

Если вы используете Spring Boot с Thymeleaf, вы можете:

  1. Исключить страницу по умолчанию, добавив эту строку в файл свойств spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration
  2. Создать свой пользовательский html страница ошибки в каталоге ресурсов / шаблонов
  3. Создайте класс, который реализует ErrorController для управления также типом получаемой ошибки и в конечном итоге добавьте конкретное c сообщение об ошибке, основанное на этом.

Вы можете найти более подробную информацию в этой статье о Baeldung , которая выполняет эту процедуру шаг за шагом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...