Реализую пользовательский валидатор для сервисного вызова.Как часть этого у меня есть ниже аннотация.
@Target({ElementType.PARAMETER, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = {MyAnnotationValidator.class})
public @interface MyAnnotation {
}
Я могу применить вышеупомянутую аннотацию к типу элемента поля или параметра.Вызов аннотации в любом параметре или поле закончился бы моим классом проверки ограничений.
Логика проверки одинакова для обоих типов элементов.Но в случае неудачи проверки мне нужно отправить разные сообщения для обоих элементов.
В случае неудачи проверки параметра мне нужно сказать «проверка параметра не удалась», в другом случае мне нужно сказать «Проверка поля не удалась".
Есть ли какой-либо способ узнать, от какого типа элемента достиг валидатор вызова проверки.
Решение, которое у меня есть, - отправить пользовательский атрибут с аннотацией, чтобы указать, откудаэто называется.Примерно так.
@MyAnnotation("Parameter") or @MyAnnotation("Field").
Нужно знать, есть ли эффективный способ выполнить эту операцию.Пожалуйста, дайте мне знать, если требуется дополнительная информация.
Спасибо