时间:2021-05-20
异常处理是每个项目中都绕不开的话题,那么如何优雅的处理异常,是本文的话题。本文将结合SpringBoot框架一起和大家探讨下。
要思考的问题
在现在的前后端交互中,通常都规范了接口返回方式,如返回的接口状态(成功|失败)以及要返回的数据在那个字段取,或者说失败了以后提示信息从接口哪里返回,因此,如果想做全局异常,并且异常发生后能准确的返回给前端解析,那么需要异常发生时返回给前端的格式与正常失败场景的格式一致。
项目建立
利用idea 工具,很容易的搭建一个SpringBoot项目,要引入的maven依赖如下:
很简单,除了加入web功能还加入了我们需要用到的JSR-303校验框架。
定义成功失败 返回码
定义接口返回响应实体
全局异常拦截和验证
定义自定义业务异常
编写全局异常控制器并对自定义异常做处理
编写controller模拟抛出业务异常
postMan模拟请求接口,进行验证
数据绑定异常处理
通常我们操作数据的时候,不仅前端需要进行数据校验,后端也应当进行拦截和进行相应的错误提示,
JSR-303校验框架也是我们的一种选择。
编写实体`User`,并对属性进行注解控制
全局异常控制类加入拦截
编写控制器
postMan模拟请求
不填写任何属性,模拟添加操作,准确进行拦截和报错
代码地址
代码地址:https://github.com/pengziliu/spring-boot-2.0-leaning
项目结构预览:
结尾
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
为什么需要全局异常处理在传统SpringBoot应用中,我们@ControllerAdvice来处理全局的异常,进行统一包装返回//摘至springclouda
一、参数校验springboot使用校验框架validation校验方法的入参SpringBoot的Web组件内部集成了hibernate-validator,
SpringBoot学习——全局异常处理设置(返回JSON)需求现在习惯使用ajax的方式发起请求,所以经常需要服务端返回一个json或者字符串。控制全局的异常
使用springmvc提供restful风格的接口,实现前后端分离,后端只提供数据接口,而不做页面渲染。因此可对接口做统一处理:请求参数校验响应数据格式全局异常
本章目标整合Mybatis,并集成Druid数据源可视化监控Druid数据源使用JPA生成数据表利用注解实现数据库的事物利用注解动态配置数据源全局异常捕获校验请