@Valid和@Validated的区别及使用

1、用途
以注解的方式实现接口参数校验

2、优点
统一接口校验方法,并且可以指定相应的异常信息,避免手动写if else判断参数是否合法

3、使用方法
配置相应参数的注解,并在controller或方法开启校验@Valid和@Validated的区别及使用_第1张图片
@Valid和@Validated的区别及使用_第2张图片
3.1 @Valid的使用
用于校验实体类参数,用于方法入口

3.2 @Validated的使用
用于校验除实体类的接口参数,用于Controller上

成功登录:
@Valid和@Validated的区别及使用_第3张图片
登录失败:
@Valid和@Validated的区别及使用_第4张图片
成功退出登录:
@Valid和@Validated的区别及使用_第5张图片
退出失败:
@Valid和@Validated的区别及使用_第6张图片
4、常用的参数校验注解:
@NotNull 限制必须不为null
@AssertFalse 限制必须为false
@AssertTrue 限制必须为true
@Past 限制必须是一个过去的日期
@Pattern(value) 限制必须符合指定的正则表达式
@Size(max,min) 限制字符长度必须在min到max之间
@Past 验证注解的元素值(日期类型)比当前时间早
@NotEmpty 验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)
@NotBlank 验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格
@Email 验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式
@Pattern(regexp = “”) 正则表达式校验参数
@Range(min = 0, max = 10) / Max / @Min 校验最大值/最小值,参数类型为整形(pageNo, pageSize)

你可能感兴趣的:(java)