上一篇我们介绍如何通过定制error页面实现自定义错误页面。本篇我们介绍一种更灵活的错误定制方法———–实现ErrorController。
Spring Boot提供了BasicErrorController类, AbstractErrorController抽象类, ErrorController接口, 其中BasicErrorController继承了AbstractErrorController, AbstractErrorController实现了ErrorController接口。
本篇我们通过实现ErrorController接口,提供一种修改默认页面error page为myError page的方式,有关myError page拥有哪些属性,用户根据情况可自行定义。
注意:本次我依然选择使用ThymeLeaf作为错误页面的模板。但是我们第一个示例是不适用模板的case,第二个是使用模板的case。
1. 实现ErrorController接口
重点是/error路径返回的 return “myError”;
@Controller
public class MyErrorController implements ErrorController {
private static final String PATH = "/error";
@RequestMapping(value = PATH)
public String error() {
return "myError";
}
@Override
public String getErrorPath() {
return PATH;
}
}
我们对比着看看系统自带的BasicErrorController源代码。
BasicErrorSourceCode.png
2. 使用@RestController,返会错误页面的内容
直接看截图,截图中代码
001.png
3. 使用@Controller,返货错误页面模板。
直接看截图,截图中代码
代码在这里,欢迎加星,fork,谢谢!
网友评论