Spring boot错误处理以及定制错误页面
如果是浏览器访问,返回错误页面
注意浏览器发送请求的请求头: 注意区别其他客户端哦比如 postman
如果是其他客户端,返回一个Json数据
原理可以参照ErrorMvcAutoConfiguration;错误处理的自动配置;
给容器中添加了以下组件
1、DefaultErrorAttributes:
2、BasicErrorController:处理默认/error请求
3、ErrorPageCustomizer:
4、DefaultErrorViewResolver:
步骤:
一但系统出现4xx或者5xx之类的错误;ErrorPageCustomizer就会生效(定制错误的响应规则);就会来到/error
请求;就会被BasicErrorController处理;
1)响应页面;去哪个页面是由DefaultErrorViewResolver解析得到的
注意关于 @ControllerAdvice的使用,作为某个处理器