Java 如何获取注释的参数作为验证器?
我创建了自己的注释来验证我的REST参数,如下所示:Java 如何获取注释的参数作为验证器?,java,annotations,spring-validator,Java,Annotations,Spring Validator,我创建了自己的注释来验证我的REST参数,如下所示: @PostMapping("/users") @ResponseStatus(HttpStatus.CREATED) public User createUser(@UserConstraint("CREATE_MODE") @RequestBody User user) { //code } 在调用ConstraintValidator来验证用户输入的地方,我的一切都正常工作了,但我不知道如何获取自己注释的参数
@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();
}
@约束(validatedBy=UserValidator.class)
@目标(ElementType.PARAMETER)
@保留(RetentionPolicy.RUNTIME)
public@interface用户约束{
字符串消息()默认为“”;
类[]组()默认值{};
等级
public class UserValidator implements ConstraintValidator<UserConstraint, User> {
@Override
public boolean isValid(User user,
ConstraintValidatorContext context) {
???
}
@Override
public void initialize(UserConstraint annotation) {
// initialization, probably not needed
mode = annotation.value();
}