小编Abr*_*sis的帖子

验证 UUID Restful 服务

我有一个 RESTful 服务,它接收POST带有UUID值的请求并将它们写入数据库。所以问题是验证是否UUID有效。为此,我实现了自定义注释:

@Constraint(validatedBy = {})
@Target({ElementType.FIELD})
@Retention(RUNTIME)
@Pattern(regexp = "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[34][0-9a-fA-F]{3}-[89ab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}")
public @interface validUuid {

    String message() default "{invalid.uuid}";
    Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default {};
}
Run Code Online (Sandbox Code Playgroud)

但是由于某种原因它不起作用,即使我通过了有效的UUID我也经常得到一个例外:

javax.validation.UnexpectedTypeException: HV000030: 找不到约束“javax.validation.constraints.Pattern”验证类型“java.util.UUID”的验证器

是否有任何选项可以UUID正确验证?

java regex validation spring spring-boot

6
推荐指数
1
解决办法
5457
查看次数

标签 统计

java ×1

regex ×1

spring ×1

spring-boot ×1

validation ×1