Springboot校验UUID

Springboot应用往往需要对UUID进行校验,我们可以通过JSR-303 Validation机制实现dto或者单一变量中的UUID属性的校验。

Bean Validation 规范对约束的定义包括两部分,一是约束注解,@NotNull 就是约束注解;二是约束验证器,每一个约束注解都存在对应的约束验证器,约束验证器用来验证具体的 Java Bean 是否满足该约束注解声明的条件。

@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER}) // 约束注解应用的目标元素类型
@Constraint(validatedBy = {})  // 与约束注解关联的验证器
@Retention(RetentionPolicy.RUNTIME) //  约束注解应用的时机
@Pattern(regexp = "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$")
public @interface UUID {
    String message() default "{invalid uuid}";  // 约束注解验证时的输出消息
    Class[] groups() default {}; // 约束注解在验证时所属的组别
    Class[] payload() default {}; // 约束注解的有效负载
}

参考文献

  • Bean Validation 技术规范特性概述
  • https://stackoverflow.com/questions/37320870/is-there-a-uuid-validator-annotation/37322115#37322115

本文作者: seawish
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!

你可能感兴趣的:(Springboot校验UUID)