Обработка ошибок 404 в Spring: создание собственного контроллера ошибок

Ниже приведен пример создания контроллера ошибок Spring 404 на Java.

Во-первых, вам нужно создать класс, который будет служить вашим собственным контроллером ошибок. Этот класс должен расширять класс AbstractErrorControllerи обрабатывать аннотацию ErrorController. Вот пример:

import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("${server.error.path:${error.path:/error}}")
public class CustomErrorController implements ErrorController {
    @RequestMapping
    public String handleError() {
        // Handle the 404 error here
        return "error404"; // or any other view name you want to show
    }
    @Override
    public String getErrorPath() {
        return "/error";
    }
}

В приведенном выше примере класс CustomErrorControllerобрабатывает сопоставление запроса для пути ошибки, указанного в свойствах приложения (${server.error.path:${error.path:/error}}). Метод handleError()обрабатывает ошибку 404, возвращая имя представления, которое должно отображаться при возникновении ошибки 404. В этом случае возвращается «error404», но вы можете заменить его именем нужного представления.

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

import org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class AppConfig extends ErrorMvcAutoConfiguration {
    @Bean
    public CustomErrorController customErrorController() {
        return new CustomErrorController();
    }
}

При такой конфигурации Spring будет использовать ваш собственный контроллер ошибок вместо механизма обработки ошибок по умолчанию для обработки ошибок 404.

Блог

В этой статье блога мы рассмотрим, как создать собственный контроллер ошибок в Spring для обработки ошибок 404. Мы предоставим подробное объяснение необходимых шагов и добавим примеры кода для каждого шага. К концу этой статьи вы получите четкое представление о том, как реализовать собственный контроллер ошибок в вашем приложении Spring для эффективной обработки ошибок 404.