烈如歌歌
2020-05-29 16:20
采纳率: 0%
浏览 4.4k

关于@NotNull 注解中groups 的作用

public class User implements Serializable {

@NotNull(message = "primary is not null",groups = {GroupInterface1.class})
private Long id;

}
我就想问一下 我知道这个@NotNull是校验为不为空得东西,我想知道的是里面得groups 定义是有什么作用,GroupInterface1这个类应该是自定义的类,他是很普通得实体类,还是说里面定义得特殊方法,看了好多都没有说明这个问题的,麻烦知道得能说明一下,如果简单就文字表达,如果能用代码说明下,让我一下看懂最好。不要说让我翻资料,找不到才问的。终点是groups有啥用,别讲@NotNull的用处。谢谢了。迫切想知道。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 封印di恶魔 2020-05-29 17:22

    groups是验证分组,比如我有的验证只有更新的时候做,有的只有添加的时候做,就用这个
    javax.validate里有提供一个默认分组Default.class是个接口,不指定分组时都会执行这个,分组是个空的接口
    在字段上面指定他们的分组

    @NotNull(message = "primary is not null",groups = {GroupInterface1.class})
    private Long id;
    

    然后在方法里指定对象用哪些分组验证

    public void test(@Validated(GroupInterface1.class) User user) {
    
    }
    
    评论
    解决 8 无用
    打赏 举报

相关推荐 更多相似问题