@NotNull groups =、
时间: 2024-01-04 18:54:09 浏览: 41
@NotBlank(groups = Create.class,message = "name 不能为空")
这段代码的意思是在创建(Create)操作时对name字段进行非空校验,如果name为空,则会返回提示信息"name不能为空"。
@NotNull(groups = {Update.class,Create.class},message = "createTime 不能为空")
这段代码的意思是在更新(Update)和创建(Create)操作时对createTime字段进行非空校验,如果createTime为空,则会返回提示信息"createTime不能为空"。
groups用于分组校验,在对数据进行不同操作时,我们可能对不同的字段有不同的非空校验要求。比如在更新操作时,字段A和B都不能为空,而在创建操作时,字段A和C不能为空,字段B可以为空。如果不使用分组校验,则需要在每个方法中单独对字段进行校验,而使用分组校验可以将需要校验的字段分为一组,校验的时候只需要按组去校验字段,代码更加优雅和简洁。
在Controller层进行参数校验时,只需要在参数前面加上@Validated注解,并配置需要校验的组。例如,在创建操作中,使用@Validated(User.Create.class)对User对象进行校验,而在更新操作中,使用@Validated(User.Update.class)对User对象进行校验。这样就可以根据不同的操作类型来指定不同的校验规则。<span class="em">1</span><span class="em">2</span><span class="em">3</span>