1.作用:用于校验被其修饰的参数,如果不符合要求,会抛出异常。
2.范围,多用于修饰类,类中需要定义具体的参数校验形式
3.具体校验的注解类型
@AssertFalse 校验false @AssertTrue 校验true @DecimalMax(value=,inclusive=) 小于等于value, inclusive=true,是小于等于 @DecimalMin(value=,inclusive=) 与上类似 @Max(value=) 小于等于value @Min(value=) 大于等于value @NotNull 检查Null @Past 检查日期 @Pattern(regex=,flag=) 正则 @Size(min=, max=) 字符串,集合,map限制大小 @Validate 对po实体类进行校验
4.举例:
1 首先在controller上声明需要对数据进行校验
@RequestMapping(value="/user",method= {RequestMethod.POST}) public Result<?> addmethod( @RequestBody @Validated User user) throws ParseException, UnsupportedEncodingException {}
2 然后在bean上声明需要被校验的字段
public class User{ @validated private List<User> assoUsers; @NotNull @Size(max=18,message="userId is null") private String UserId; @NotBlank @Size(max=32,message="userName is null") private String userName; }
5.springboot目前不支持@pathvariable的校验