当前位置:首页 > 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处理业务


单仁号 苇庄号

  • 关注微信关注微信

猜你喜欢

热门标签

qq如何设置只能自己手机号登录介绍 苹果8图标大小在哪里调介绍 三星手机睡眠模式在哪里设置 桌面时钟插件app linux服务器怎么看cpu型号 苹果充电到80就不动了怎么办 换屏为什么没有原彩显示 台式电脑黑屏恢复按4个键 word如何在数字上加个√号 iferror函数功能及用法 微信转账记录删了怎么查出来 电脑开机设置在哪里 淘票票app 提取网页下拉菜单内容wps怎样提取其中一个附件?介绍 海尔电视开机酷喵广告怎么关闭酷猫怎么设置开机自动打开? 怎样恢复苹果手机被隐藏的图标苹果手机隐藏的图标怎么恢复正常? 长江存储固态硬盘 抖音极速版真的能赚钱吗 java生成excel表格有tab页java中nextLine和next的区别? div? centos8怎么以root身份登录centos安装软件需要root权限?介绍 aix系统忘记密码怎么重置银行电脑用什么系统?介绍 ubuntu命令使用入门教程Ubuntu重启网络命令求? 蚂蚁借呗怎么申请提升额度如何提高借呗额度降低利息? 微信读书怎么调字体颜色就是微信里面聊天绿色字体怎么改成其他颜色? ios14图标怎么从大变小苹果14怎么删除多的界面? 小米安装后自动删除安装包小米手机卸载软件以后重新下载以后安装不了? 淘宝在哪里开店注册 公司怎么用e签宝签合同e签宝电子合同怎么查询? 淘宝开店到发布宝贝的具体步骤为什么我的淘宝不能发布全新的宝贝?

微信公众号