У меня есть библиотека, которая определяет некоторые аннотации. Эту аннотацию можно добавить к моим запросам, я бы хотел приклеить эту аннотацию к некоторому пользовательскому валидатору.
Внешняя библиотека
Класс аннотации
@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
}
}
Я не могу заставить пружину использовать мой UniqueLoginValidator для проверки полей, помеченных UniqueValue в моем запросе. Есть идеи как их склеить? Я не могу использовать @ Constraint (validatedBy = [UniqueValueValidator :: class]) , поскольку он не доступен во внешней библиотеке.