Skip to content

javax.validation

EasyYapi 支持 javax.validation (Bean Validation) 规范,可以自动提取验证约束信息并包含在 API 文档中。

支持的注解

空值检查

  • @NotNull — 不能为 null
  • @NotBlank — 不能为空白
  • @NotEmpty — 不能为空

数值检查

  • @Min — 最小值
  • @Max — 最大值
  • @DecimalMin — 最小小数
  • @DecimalMax — 最大小数
  • @Positive — 正数
  • @PositiveOrZero — 正数或零
  • @Negative — 负数
  • @NegativeOrZero — 负数或零

字符串检查

  • @Size — 大小范围
  • @Length — 长度范围
  • @Pattern — 正则表达式
  • @Email — 邮箱格式

日期检查

  • @Past — 过去的日期
  • @PastOrPresent — 过去或当前日期
  • @Future — 未来的日期
  • @FutureOrPresent — 未来或当前日期

其他

  • @Valid — 级联验证

示例

java
public class CreateUserRequest {

    @NotBlank(message = "用户名不能为空")
    @Size(min = 2, max = 20, message = "用户名长度为2-20个字符")
    private String username;

    @NotBlank(message = "密码不能为空")
    @Size(min = 6, max = 20, message = "密码长度为6-20个字符")
    private String password;

    @Email(message = "邮箱格式不正确")
    private String email;

    @Min(value = 0, message = "年龄不能为负数")
    @Max(value = 150, message = "年龄不能超过150")
    private Integer age;
}

配置

properties
field.required=groovy:it.hasAnn("javax.validation.constraints.NotNull") || it.hasAnn("javax.validation.constraints.NotBlank") || it.hasAnn("javax.validation.constraints.NotEmpty")

基于 Apache-2.0 许可发布