我有一个定义一些注释的库。这个注释可以添加到我的请求中,我想将该注释粘贴到一些自定义验证器上。
外部库
注释类
@Target(
AnnotationTarget.FUNCTION,
AnnotationTarget.PROPERTY_GETTER,
AnnotationTarget.PROPERTY_SETTER,
AnnotationTarget.FIELD
)
@Retention(AnnotationRetention.RUNTIME)
annotation class UniqueValue()
请求类
class PostReq(
@field:UniqueValue
val value: String
)
我的应用
@Component
class UniqueValueValidator() : ConstraintValidator<UniqueValue?, String?> {
override fun initialize(constraint: UniqueValue?) {}
override fun isValid(value: String?, context: ConstraintValidatorContext): Boolean {
println("validation magic")
return true
}
}
我无法让 spring 使用我的UniqueLoginValidator来验证我的请求中使用UniqueValue注释的字段。关于如何将它们粘合在一起的任何想法?我不能使用@Constraint(validatedBy = [UniqueValueValidator::class])因为它在外部库中不可用。