Spring Boot项目传参校验的方法


这篇文章主要讲解了“SpringBoot项目传参校验的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot项目传参校验的方法”吧!简单业务场景模拟:假如你现在在做一个成绩录入系统,你愉快地用Spring Boot框架写了一个后台接口,用于接收前台浏览器传过来的 Student对象,并插入后台数据库。我们将传入的 Student对象定义为:然后写一个Post请求的后台接口,来接收网页端传过来的 Student对象:此时我想你一定看出来了上面这段代码的漏洞,因为我们并没有对传入的 Student对象做任何数据校验,比如:Student对象里三个字段的某一个忘传了,为 null怎么办?Student的 score分数,假如写错了,写成 101分怎么办?Student的 mobile11位手机号码,假如填错了,多写了一位怎么办?…等等这些数据虽然在前端页面一般会做校验,但我们作为一个严谨且良心的后端开发工程师,我们肯定要对传入的每一项数据做严格的校验,所以我们应该怎么写?写是写完了,就是感觉手有点酸,并且心有点累,这个 Student对象倒还好,毕竟内部仅3个字段,假如一个复杂的对象有30个字段怎么办?简直不敢想象!其实Spring框架很早版本开始,就通过注解的方式,来方便地为我免费云主机域名们提供了各项交互数据的校验工作,比如上面的例子,我们只需要在传入的 Student实体类的字段中加入对应注解即可方便的解决问题:当然,于此同时,我们还需要在对象入口处,加上注解 @Valid来开启对传入 Student对象的验证工作:这时候,如果某个字段传入错误,比如我传数据的时候,将学生的成绩误传为 101分,则接口返回结果便会提示出错误详情:当然,关于这个事情的原理,既然用到了注解,无非用的也就是Java里的各种反射等知识来实现的,感兴趣的小伙伴可以借此机会研究一下!上面利用注解的方式做统一数据校验感觉十分美好,但唯一美中不足的就是返回的结果太过繁杂,不一定使我们需要的格式,我们需要做统一处理,比如:我只想将具体参数校验的错误提示信息给抠出来返回给前端即可。为此,我们为项目配置全局统一异常拦截器来格式化所有数据校验的返回结果。如上面代码所示,我们全局统一拦截了参数校验异常 MethodArgumentNotValidException,并仅仅只拿到对应异常的详细 Message信息吐给前端,此时返回给前端的数据就清楚得多:感谢各位的阅读,以上就是“SpringBoot项目传参校验的方法”的内容了,经过本文的学习后,相信大家对SpringBoot项目传参校验的方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: 怎么使用Android快速实现一个财务APP程序

这篇文章主要介绍了怎么使用Android快速实现一个财务APP程序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Android快速实现一个财务APP程序文章都会有所收获,下面我们一起来看看吧。移动端,采用安卓进行开发,An…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 04/08 11:11
下一篇 04/08 11:12

相关推荐