22 SpringBoot默认的错误处理机制

默认效果:

1)、浏览器,返回一个默认的错误页面
22 SpringBoot默认的错误处理机制
浏览器发送请求的请求头:
22 SpringBoot默认的错误处理机制
2)、如果是其他客户端,默认响应一个json数据
22 SpringBoot默认的错误处理机制
22 SpringBoot默认的错误处理机制
原理:
可以参照ErrorMvcAutoConfiguration;错误处理的自动配置;
给容器中添加了以下组件

1、DefaultErrorAttributes:
22 SpringBoot默认的错误处理机制
2、BasicErrorController:处理默认/error请求
22 SpringBoot默认的错误处理机制
3、ErrorPageCustomizer:
22 SpringBoot默认的错误处理机制
4、DefaultErrorViewResolver:
22 SpringBoot默认的错误处理机制
步骤:
一但系统出现4xx或者5xx之类的错误;ErrorPageCustomizer就会生效(定制错误的响应规则);就会来到/error

请求: 就会被BasicErrorController处理;
响应页面: 去哪个页面是由DefaultErrorViewResolver解析得到的;
22 SpringBoot默认的错误处理机制