当前位置:首页 > TAG信息列表 > springboot全局异常springboot接口参数注解怎么处理异常参数?介绍

springboot全局异常springboot接口参数注解怎么处理异常参数?介绍

spring boot 全局异常 springboot接口参数注解怎么处理异常参数?

springboot接口参数注解怎么处理异常参数?

带有@valid的注释用于帮助我们检查参数。在最初定义的统一异常处理类中,我们可以捕捉methodirgumentnotvalidexc

如何处理springboot全局异常与数据校验?

这个问题其实是两个方面,一个是springboot的全局异常处理方法,一个是springboot的数据验证。让让我们一个一个来。

事实上,全局异常处理需要我们统一捕获和处理系统运行中的异常,具体的处理逻辑是根据业务进行的,可以记录在日志中,由前端返回,再由前端提示。

spring boot 全局异常 springboot接口参数注解怎么处理异常参数?

那么如何捕获和处理这样的全局异常呢?

在springboot中,有一个注解——@controlleradvice。由该注释修改的bean表示它已经启用了全局异常的捕获。我们只需要在这个带注释的类中定义一个方法,使用@exceptionhandler的注释,我们需要定义要捕获的异常的类型,来统一处理这些捕获的异常。

在实际生产中,我们通常会为业务定义一些自定义异常来捕捉业务中不合理的情况,比如数据异常;然后由@controlleradvice定义的类中的@exceptionhandle方法拦截异常,从而捕获并处理异常。

给一个"栗子"!

我首先定义了一个新的异常类来捕获业务场景中的各种业务问题:

在业务场景中,如果遇到不正确的操作,将引发以下异常:

抛出的异常将被我们定义的全局异常处理程序捕获和处理:

至此,实现了springboot的全局异常处理。

让让我们来谈谈题主提到的数据验证。通常我们在操作数据时,不仅前端需要对数据进行验证,后端也要进行拦截并给出相应的。

我们可以使用springboot中包含的hibernate-validator来做这件事。

既然hibernate-validator已经包含在spring-boot-starter-web中,我们就不做不需要介绍jar。

给一个"栗子"!

在需要验证的实体类中,我们使用相应的注释。常见的注释有很多,最常见的是amp的判断非空",即@notblank注释:

然后,在控制器层中,将通过用@valid注释进行标记来检查接收实体:

验证失败后,我们可以定义一个全局异常处理程序来捕获数据验证。失败,从而返回到统一的返回值处理。

当两者结合时,可以优雅地实现用于数据验证的全局异常捕获的统一处理。

欢迎关注我的头条【首页程序员】继续思考有趣的标题(不是内容哈哈)。

——一个闲来无事,呆在家里的家庭程序员。我不我不想掉头发!)

全局数据springboot处理业务


单仁号 苇庄号

  • 关注微信关注微信

猜你喜欢

热门标签

米家台灯一代色温 微信怎么发送虚拟位置 ai中的图导出后怎么转换成jpg介绍 excel自动筛选怎么用 wps手机怎么换皮肤颜色 ps怎么把人物衣服颜色换掉 向日葵远程关闭显示器是否有影响向日葵远程关机对电脑的影响 苹果手机怎么样设置锁屏密码 vivoy97来电闪光灯怎么关介绍 联想一体机首次使用教程 excel表格中寻找重复的值 支付宝的万能福怎么换敬业福 电脑qq怎么分享屏幕 要从头播放幻灯片默认的快捷键是 滴滴司机端 oppo手机扫描文字变成文档在哪里oppo手机文件扫描件存在什么地方? 微信群里加好友怎么不让对方知道怎么添加微信群里的好友可以不被群主知道?介绍 小米手机微信恢复聊天记录教程小米手机微信成了英怎么恢复中文?介绍 怎么删除手机里面已有指纹应用加密怎么取消指纹加密? 苹果手机为什么wifi连不上苹果13连不上wifi是怎么回事? 淘特注销用绑定的手机验证码吗淘特无法登录了怎么办? 为什么我的所有借款平台都停用了为什么手机银行显示线上服务已暂停使用?介绍 windows11任务栏怎么放到左侧电脑工具栏怎么添加桌面?介绍 word怎么去掉全文的批注word中如何去除批注修改? 支付宝订单评价了在哪查看为什么闲鱼有交易记录没有评价?介绍 华为p30手机价格及图片 自己设计商品的购物网站怎样在网上卖东西?什么平台比较好?介绍 ps怎么添加影子效果ps里面给图片四周加阴影怎么弄? 不是好友怎么拉进群? ios模拟器安卓版使用教程苹果电脑有安卓手游模拟器么?介绍

微信公众号