我正在用jdk 8创建一个Spring Web应用程序,我的要求是
我想用UIImageView(image:myImage)
注释其余的暴露方法
现在,我想编写一个通用的实用程序方法,该方法将针对通过注释的@isValid("bla-bla-bla")
验证此方法所使用的Httprequest,失败时应返回HTTP 403
我知道我可以使用Aspect来做到这一点,我想知道是否有更好的方法可以实现相同的目标。
非常感谢
答案 0 :(得分:1)
您可以这样编写您的自定义注释(这种情况可能不适合您,但我认为逻辑是相同的。)
@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE,
ElementType.CONSTRUCTOR, ElementType.PARAMETER })
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = { MyValidator.class })
public @interface MyValidationAnnotation {
/**
* @return
*/
String message() default "Your value is not valid";
/**
* @return
*/
Class<?>[] groups() default {};
/**
* @return
*/
Class<? extends Payload>[] payload() default {};
}
public class MyValidator implements ConstraintValidator<MyValidationAnnotation, String> {
public void initialize(MyValidationAnnotation constraintAnnotation) {
}
public boolean isValid(String id, ConstraintValidatorContext context) {
//write your logic here..
return true;
}
}
最后在需要的地方使用@MyValidationAnnotation。