七叶笔记 » java编程 » springboot 全局异常处理和统一响应对象的处理方式

springboot 全局异常处理和统一响应对象的处理方式

springboot异常处理

SpringBoot 默认的异常处理机制

默认情况,SpringBoot 提供两种不同响应方式

一种是浏览器客户端请求一个不存在的页面或服务端异常时,SpringBoot默认会响应一个html另一种是使用postman等调试工具请求不存在的url或服务端异常时,默认返回json信息

SpringBoot 全局异常处理

一般我们不会将错误信息返回前端,自己去try catch捕获异常,但有个问题:每个方法都这样捕获异常,肯定是不合适,这是我们就需要全局的异常处理了。

1. 局部异常处理

使用@EceptionHandle注解实现某个类的局部异常处理

2. 全局异常处理

使用@ControllerAdvice +@ExceptionHandler注解实现全局异常处理

自定义一个异常类

增加一个异常方法测试,由于局部异常优先级更高先注释掉了

全局异常注解已生效

自定义异常

自定义异常只需要继承exception类或其子类

使用时可以直接抛出异常对象

统一响应对象

实际开发中我们需要封装统一的响应对象,区分状态码和信息,以便前端处理。

定义统一的响应对象

一般包含状态码,错误信息,数据等。

自定义一些方法用来返回信息,比如我定义的success(),failed()方法

枚举信息

枚举一些常用的状态信息

我就举个例子,只枚举2个,根据需要去自定义

响应对象

使用时直接返回定义的对象类型就行了,将定义的全局异常返回类型也改成统一的响应对象

全局异常和响应对象的简单介绍就这样了,欢迎补充指正。

gitee地址:gitee.com/rainscloud/…

到此这篇关于springboot 全局异常处理和统一响应对象的文章就介绍到这了,更多相关springboot全局异常处理内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!

相关文章