一、什么是JSR?
JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。
二、JSR-303定义的是什么标准?
JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,Hibernate Validator 是 Bean Validation 的参考实现 . Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的实现,除此之外还有一些附加的 constraint。
三、Bean Validation中内置的constraint
- @Null:被注释的元素必须为null
- @NotNull:被注释的元素必须不为null
- @AssertTrue:被注释的元素必须为true
- @AssertFalse:被注释的元素必须为false
- @Min:被注释的元素必须是一个数字,且必须大于等于指定最小值
- @Max:被注释的元素必须是一个数字,且必须小于等于指定最小值
- @DecimalMin(value):被注释的元素必须是一个数字,且必须大于等于指定最小值
- @DecimalMax(value):被注释的元素必须是一个数字,且必须小于等于指定最小值
- @Size(min,max):被注释元素大小必须在指定的范围内
- @Digits(integer,fraction):被注释元素必须是数字,且值必须在可接受范围内
- @Past:被注释的元素必须是一个过去的日期
- @Future:被注释的元素必须是一个将来的日期
- @Pattern(value):被注释的元素必须符合指定的正则表达式
Hibernate Validator附加的constraint:
- @Email:被注释的元素必须是电子邮箱地址
- @Length:被注释的字符串长度必须在指定的范围内
- @NotEmpty:被注释的字符串必须非空
- @Range:被注释的元素必须在合适的范围内
四、Swagger支持
目前,Swagger共支持以下几个注解:
@NotNull
@Max
@Min
@Size
@Pattern