首页 > 应用开发 > Java > springboot之全局异常处理和统一响应对象
默认情况,SpringBoot 提供两种不同响应方式
一种是浏览器客户端请求一个不存在的页面或服务端异常时,SpringBoot默认会响应一个
html
另一种是使用
postman等调试工具请求不存在的url或服务端异常时,默认返回json信息
一般我们不会将错误信息返回前端,自己去
try catch捕获异常,但有个问题:每个方法都这样捕获异常,肯定是不合适,这是我们就需要全局的异常处理了。
使用
@EceptionHandle注解实现某个类的局部异常处理
使用
@ControllerAdvice +
@ExceptionHandler注解实现全局异常处理
自定义一个异常类
增加一个异常方法测试,由于局部异常优先级更高先注释掉了
全局异常注解已生效
自定义异常只需要继承
exception类或其子类
使用时可以直接抛出异常对象
实际开发中我们需要封装统一的响应对象,区分状态码和信息,以便前端处理。
一般包含状态码,错误信息,数据等。
自定义一些方法用来返回信息,比如我定义的success(),failed()方法
枚举一些常用的状态信息
我就举个例子,只枚举2个,根据需要去自定义
使用时直接返回定义的对象类型就行了,将定义的全局异常返回类型也改成统一的响应对象
一直想整理出一份完美的面试宝典,但是时间上一直腾不开,这套 一千多道面试题宝典,结合今年金三银四各种大厂面试题,以及 GitHub 上 star 数超 30K+ 的文档整理出来的,我上传以后,毫无意外的短短半个小时点赞量就达到了 13k,说实话还是有点不可思议的。
需要完整版的小伙伴,可以一键三连后, 点击这里!
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、SpringBoot、SpringCloud、RabbitMQ、Kafka、Linux等技术栈(485页)
内容涵盖:Java基础、JVM、高并发、多线程、分布式、设计模式、Spring全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat、数据库、云计算等
由于篇幅限制,详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
需要完整版的小伙伴,可以一键三连后, 点击这里!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70000438/viewspace-2786666/ ,如需转载,请注明出处,否则将追究法律责任。