1、定制错误页面
2、定制错误的 json 数据
以下方法都是下图特设的异常代码进行处理
触发方法只要访问 /hello?user=aaa 即可触发异常
1)自定义异常处理 & 返回定制 json 数据
编写一个错误的异常类,在里面配置好需要传达的错误信息并用 map 存储
并且用 ResponseBody 的方式发送给浏览器,完成简单的错误信息携带功能
以上的缺点很多,其中就包含不能进行返回类型的自适应(给浏览器发错误页面、给其他端发错误信息json……)
2) 将 1)转发到 /error 进行处理
但是这里又有一个问题,map 里面的自定义数据并不能传达到 error 的错误信息中去
3)将自定义错误信息携带到 /error 中去
首先给容器加入一个 ErrorAttributes
然后将错误信息传到 request 域中
最后结果
原理:
2、springboot中错误页的配置原理
管理错误信息页的自动配置类是 ErrorMvcAutoConfiguration
它给容器中添加了如下组件