SpringBoot全局异常与数据校验的方法

时间:2022-11-02 14:54:04

异常处理是每个项目中都绕不开的话题,那么如何优雅的处理异常,是本文的话题。本文将结合springboot框架一起和大家探讨下。

要思考的问题

在现在的前后端交互中,通常都规范了接口返回方式,如返回的接口状态(成功|失败)以及要返回的数据在那个字段取,或者说失败了以后提示信息从接口哪里返回,因此,如果想做全局异常,并且异常发生后能准确的返回给前端解析,那么需要异常发生时返回给前端的格式与正常失败场景的格式一致。

项目建立

利用idea 工具,很容易的搭建一个springboot项目,要引入的maven依赖如下:

SpringBoot全局异常与数据校验的方法

很简单,除了加入web功能还加入了我们需要用到的jsr-303校验框架。

定义成功失败 返回码

SpringBoot全局异常与数据校验的方法

定义接口返回响应实体

SpringBoot全局异常与数据校验的方法

全局异常拦截和验证

定义自定义业务异常

SpringBoot全局异常与数据校验的方法

编写全局异常控制器并对自定义异常做处理

SpringBoot全局异常与数据校验的方法

编写controller模拟抛出业务异常

SpringBoot全局异常与数据校验的方法

postman模拟请求接口,进行验证

SpringBoot全局异常与数据校验的方法

数据绑定异常处理

通常我们操作数据的时候,不仅前端需要进行数据校验,后端也应当进行拦截和进行相应的错误提示,

jsr-303校验框架也是我们的一种选择。

编写实体`user`,并对属性进行注解控制

SpringBoot全局异常与数据校验的方法

全局异常控制类加入拦截

SpringBoot全局异常与数据校验的方法

编写控制器

SpringBoot全局异常与数据校验的方法

 postman模拟请求

不填写任何属性,模拟添加操作,准确进行拦截和报错

SpringBoot全局异常与数据校验的方法

代码地址

代码地址:https://github.com/pengziliu/spring-boot-2.0-leaning

项目结构预览:

SpringBoot全局异常与数据校验的方法

结尾

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://www.jianshu.com/p/99ded527bc47