加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡水站长网 (https://www.0318zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

只为讲透参数合法性验证

发布时间:2021-02-22 16:11:47 所属栏目:外闻 来源:互联网
导读:然后写一个统一异常拦截器,对抛异常的程序进行处理。 这种做法比较直观,如果当前参数既要判断是否为空,又要判断长度是否超过最大长度的时候,代码就显得有点多了! 于是,程序界的大佬想到了一个更加优雅又能节省代码的方式,创建一个断言类工具类,专门用

然后写一个统一异常拦截器,对抛异常的程序进行处理。

这种做法比较直观,如果当前参数既要判断是否为空,又要判断长度是否超过最大长度的时候,代码就显得有点多了!

于是,程序界的大佬想到了一个更加优雅又能节省代码的方式,创建一个断言类工具类,专门用来判断参数的是否合法,如果不合法,就抛异常!

 

很清晰的看到,已经生效!

3.5、手动进行注解校验

某些时候呢,假如有100个类需要用到校验注解,此时我们可能在每个类会加上注解@Validated或者@Valid,再增加100个这样的类,就会造成很多大量的重复工作。

而此时,我们的诉求是想对有校验注解的实体类进行全局参数验证!

解决办法就会用到Validator提供的手动注解校验证工具类,实现方法如下!

  • 新建一个注解验证工具类

方法参数解析器只针对接口请求时入参进行验证,如果想对任何组件中方法进行注解校验,似乎还缺了点什么!

而当需要对一个类中的方法参数使用注解校验时,在类上加上@Validated就是为了告诉Spring去校验方法参数!

底层核心是通过切面代理类并配合MethodValidationPostProcessor这个后置处理器进行处理!



(编辑:衡水站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读