📜  创建 spring 404 错误控制器 (1)

📅  最后修改于: 2023-12-03 14:50:14.338000             🧑  作者: Mango

创建 Spring 404 错误控制器

在创建 Web 应用程序时,会遇到后端服务无法找到请求的情况。一种常见的错误是 404 页面未找到错误。当没有找到相关的页面或资源时,Web 服务器会返回一个默认的错误页面或消息。但是,我们可以自定义 404 错误控制器来提供更好的用户体验。本文将介绍如何创建一个 Spring 404 错误控制器。

步骤
1. 创建一个控制器类

我们需要创建一个控制器类来处理 404 错误。这个类需要实现 Spring 的 ErrorController 接口。这个接口只有一个方法 getErrorPath(),用于返回错误路径。

@RestController
public class MyErrorController implements ErrorController {

    @RequestMapping("/error")
    public String handleError(HttpServletRequest request) {
        //do something like logging
        return "<h1>Custom 404 Page Not Found</h1>";
    }

    @Override
    public String getErrorPath() {
        return "/error";
    }
}
2. 禁用默认的错误页面

默认情况下,Spring Boot 会自动为 404 错误返回一个默认的错误页面。为了让我们的自定义错误页面生效,需要在 application.properties 中禁用默认错误页面。

spring.mvc.throw-exception-if-no-handler-found=true
spring.resources.add-mappings=false
3. 测试

当访问一个不存在的页面时,应该会显示我们自定义的 404 页面。

总结

我们通过实现 Spring 的 ErrorController 接口,在应用程序中创建了一个自定义的 404 错误控制器。我们还禁用了 Spring Boot 默认的错误页面。现在,我们的应用程序会默认显示我们自定义的错误页面,这提供了更好的用户体验。

需要注意的是,如果正在使用 Spring Boot 并且希望自定义其他错误页面,可以使用相同的方法来创建其他错误控制器,例如500错误或403错误控制器。