@NotNull中groups的作用
用来做啥的??
顾名思义,groups应该是用作分组的,那么,分组来做什么? 怎么分组的?
其实主要是用于对参数校验的一个分组,我们在对数据做不同操作的时候,可能对其中部分字段 有非空校验,比如更新的时候A、B…字段不能为空,,新增的时候A、C字段又不能为空B是可以空的,那么我们如果单独做校验可能就显得比较麻烦,代码看起来不是那么优雅,这里引入一个分组,将不同类型操作需要校验的字段分为一组,校验的时候只需要按组去校验字段就好了。具体使用看下面的代码
怎么用?
如下实体类User ,所有字段在create的时候都需要校验,createTime只是在update的时候才需要校验,注解如代码所示
@Data
@Builder
public class User {@NotBlank(groups = Create.class,message = "name 不能为空")private String name;@NotNull(groups = {Update.class,Create.class},message = "createTime 不能为空")private String createTime;@NotNull(groups = Create.class,message = "status 不能为空")private Integer status;/* 分组校验 */public @interface Create {}/* 分组校验 */public @interface Update {}
}
校验在controller层,只需要在参数前面加上@Validated注解,分别配置需要校验的组
@RestController
@RequestMapping("/group-valid-test")
public class GroupValidTest {@PostMappingpublic String create(@Validated(User.Create.class) @RequestBody User user){return "success";}@PutMappingpublic String update(@Validated(User.Update.class) @RequestBody User user){return "success";}}
测试验证
create时name为空的情况:
update时createTime为空的情况:
@NotNull中groups的作用相关推荐
- MapReduce中Combiner的作用
问题提出: 众所周知,Hadoop框架使用Mapper将数据处理成一个<key,value>键值对,再网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出 ...
- VMware虚拟机文件夹中各文件作用详解
VMware虚拟机文件夹中各文件作用详解 虚拟机的文件管理由VMware Workstation来执行. 一个虚拟机一般以一系列文件的形式储存在宿主机中, 这些文件一般在由workstation为虚拟 ...
- Science:亚硝酸盐氧化细菌在黑暗海洋中的主要作用
文章目录 亚硝酸盐氧化细菌在黑暗海洋中的主要作用 写在前面 摘要 热心肠日报 背景 结果 图1 非全长16S rRNA基因序列的系统发育树 图2 通过募集宏基因组片段的方法确定亚硝酸盐氧化细菌单扩增基 ...
- 丰度决定了细菌在复杂群落中的功能作用
本文转载自"微生态笔记",已获授权 标题:Abundance determines the functional role of bacterial phylotypes in c ...
- tensorflow2.0中valid_data的作用是在训练的过程对对比训练数据与测试数据的准确率 损失率,便于判断模型的训练效果:是过拟合还是欠拟合(过拟合)
tensorflow2.0中valid_data的作用是在训练的过程对对比训练数据与测试数据的准确率,便于判断模型的训练效果:是过拟合还是欠拟合 过拟合:训练数据的准确率较高而测试数据的准确率较低 欠 ...
- C#中构造函数的作用
C#中构造函数的作用 共同点: 都是实例化对象,初始化数据的 默认构造是说所有的类都从祖先object那继承了空参的构造方法,你不写与写空参构造都存在,而有参数的构造一般是自己写的,写就有不写就没有, ...
- python里dir是什么意思_python中dir什么作用
python中dir的作用是:1.dir函数传入数据类型返回该数据类型的所有内置方法:2.dir函数传入模块名返回该模块的所有属性和方法. dir() 内置函数的作用 python 内置方法有很多,无 ...
- 浅析SEO优化中标签的作用?
目前,已经有很多企业网站有专门的优化人员来进行SEO优化,在网站SEO优化的过程中会使用到很多标签来利于搜索引擎的读取,提升网站的排名和权重.就以大连网龙科技旗下产品云霸屏为例来讲,云霸屏作为一款全网 ...
- Hibernate 中lazy的作用
Hibernate 中lazy的作用 上一篇 / 下一篇 2009-06-24 20:02:20 / 个人分类:java 查看( 506 ) / 评论( 2 ) / 评分( 5 / 0 ) < ...
最新文章
- IE8 的兼容性问题总结
- python爬虫之美女图片爬取
- 解决vscode之前好好的能连接上linux服务器,后来报错,窗口出现故障
- 深入理解 JVM Class文件格式(六)
- Linux 创建快捷方式
- 经常和电脑、信息化设备打交道,食品保健养生非常重要!
- eclipse与myeclipse恢复已删除的文件和代码
- 深圳自然人报税系统的服务器地址,自然人电子税务局扣缴端怎么申报?
- Uniapp设置页面的背景图片
- 转载天涯:『天涯杂谈』 30岁公务员小勇的一点心得
- HashMap为什么线程不安全?
- 贝壳DMP平台建设实践
- 一键获取网易互娱内推攻略,快人一步拿offer!
- acmclub 2081 班级聚会上的游戏
- ROS学习笔记3_发布者Publisher
- PHP associate with Flash or micromedia
- 自定义Drawable:实现文字生成图片
- [GWCTF 2019]枯燥的抽奖 1——php_mt_seed
- vertical-align作用,基线详解
- PAT乙级 1012 数字分类 (20 分)