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


单仁号 苇庄号

  • 关注微信关注微信

猜你喜欢

热门标签

苹果手机怎么设置音乐铃声来电铃声 手机照片重复怎么处理 iphone蓝牙忽略了设备怎么弄回来呢 电信怎么查询是不是5g 手机数据管理系统 Word怎么设置表格 ps制作网站广告的步骤介绍 搜狗实时翻译怎么用 电子表格函数使用技巧大全excel多条件包含函数怎么写? qq电脑传输文件失败怎么解决电脑qq可以聊天但不能发和收文件?介绍 猫耳fm网页版 小米桌面图标隐藏怎么设置 抖音及抖音极速版是不是一个平台抖音和极速版怎么统一用一个账号? 苹果音量太小教你一键提高3倍音量苹果14闹铃怎么设置声音大小?介绍 vivox60电话背景怎么设置vivoZ1i可以设置通话背景吗? 华为畅享6s拍照怎么样华为畅想6S照相不清晰怎么回事? word文档怎么调整表格行高和列宽 桌面怎么设置分类框手机桌面怎么添加分组框? 手机小米8怎样找开发者选项小米手机为什么无法使用开发者选项? 扫描王怎么扫描电子版文件手机怎么扫描表格成电子版? 腾讯云怎么设置网页腾讯云小微怎么绑定qq音乐?介绍 excel如何合并单元格后保留数字excel内容怎么合并到一起? 苹果电脑只放歌一会就锁屏了苹果听歌怎么能不显示锁屏? win10文件夹怎么全部改成详细信息如何样“我的电脑”里的文件显示中文? qq文字特效为什么显示不出来最让你震惊的app有哪些?介绍 ps怎么单独抠人物ps怎么把人物露出来只要背景? 如何消除苹果手机短信感叹号苹果信号图标跟感叹号似的? 红米k40无限重启开不了机 京东读书网页版 qq没有退出后仍接收消息通知选项设置qq消息自动弹出为什么弹不出来?

微信公众号