如何进行Spring Boot中error接口异常处理


如何进行Spring Boot中error接口异常处理,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 故事的开始是这个样子的。在一个慵懒的午后,闲的蛋疼的一天里我在测试着接口,然后我就看到了如下画面 ,它们是这样的还有这样的:很显然这是当应用发生错误时候的提示。很不巧的是公司的项目最近好像经常出现各种奇怪的错误异常信息,但是开发人员却由于不能快速的定位问题而一脸懵逼的样子。于是乎我决定是时候把这个异常处理好好给搞一下了(整点自定义啥的让信息更详细)。 如果有人说通过 @ExceptionHandler 来进行处理那也没错 ,不过我在这里要说的是另外一种方式那就是当发生异常后,将这个 Request forward 到一个错误处理的接口上去 , 默认是 /error .Spring Boot 提供了一个默认的 BasicErrorController 来处理这个 /error 接口的请求 。一个方法处理响应 json 格式数据, 另一个函数响应一个 html 页面,也就是我们前面看到的那个不能再糊弄事的Whitelabel Error Page 。那么看到这个代码我就又产生了一个疑问,这个名字叫做 error 的试图是定义在哪里呢 ? 刚开始的时候我以为是 spring boot 包内部的一个 jsp 或者 html 页面什么的,然后我就开始搜索 …… 最后没找到。经过 debug 查看源码后我发现了这个东西 :ErrorMvcAutoConfiguration , 里面有一个WhitelabelErrorViewConfiguration 里面还有一个SpelView 。就是它了,名称叫 error 的视图,显然这个我们是可以覆盖的只要我们自己再声明一个 bean 名称为 error 就行了。当然看到这里我大致知道了 spring boot 是如何通过 /error 接口来处理异常的。但是还是觉得心理空落落的 ,感觉还是少了点什么。对了我之 香港云主机前说过了有异常后就会把当前 Request forward 到 /error 这个接口上 , 对了我现在想知道就是在什么地方进行 forward 的 。老实说这个问题的答案我还是找了一会的。 最后我发现不是在 Spring 中做的这个 forward 操作。必须提前声明下我的项目用的是内嵌的 tomcat ,至于其他类型的容器这篇博客可能并不适用。 forward 到 /error 的操作是在 tomcat 的org.apache.catalina.core.StandardHostValve 中进行的。关于如何进行Spring Boot中error接口异常处理问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注开发云行业资讯频道了解更多相关知识。

相关推荐: C++中怎么实现对称运算

这篇文章给大家介绍C++中怎么实现对称运算,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。If you use member functions, 香港云主机you need two. Unless you use a nonmember …

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 08/12 20:20
Next 08/12 20:20

相关推荐