Как получить параметр моей аннотации в качестве валидатора? - PullRequest
0 голосов
/ 29 октября 2019

Я создал свою собственную аннотацию для проверки моего параметра REST следующим образом:

@PostMapping("/users")
@ResponseStatus(HttpStatus.CREATED)
public User createUser(@UserConstraint("CREATE_MODE") @RequestBody User user) 
    {   //code        }

У меня все работает, когда мой ConstraintValidator вызывается для проверки ввода пользователя, но я не могу понять, как его получить. параметр моей собственной аннотации. Я хочу прочитать значение CREATE_MODE.

@Constraint(validatedBy = UserValidator.class)
@Target(ElementType.PARAMETER )
@Retention(RetentionPolicy.RUNTIME)
public @interface UserConstraint {
    String message() default "";
    Class<?>[] groups() default { };
    Class<? extends Payload>[] payload() default { };

    public String value();
}

Как получить доступ ??

public class UserValidator implements ConstraintValidator<UserConstraint, User> {

@Override
public boolean isValid(User user,
                           ConstraintValidatorContext context) {
???
}

1 Ответ

0 голосов
/ 29 октября 2019
@Override
    public void initialize(UserConstraint annotation) {
        // initialization, probably not needed
        mode = annotation.value();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...