我对JSR交叉提交验证有疑问。 我有一个基于休息的服务获取和发布。所以,我有类似JSR交叉提交验证
@GET
ItemOfferId getItem(String)
其他
是
@Post
boolean setItem(ItemOfferId)
在ItemOfferId类我有一个名为@validoffer一流水平的注释。 所以我有这样的类
@validOffer
Class ItemOfferId{
OfferId offer;
ItemId item;
}
@Target({ ElementType.TYPE })
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = { OfferValidator.class })
public @interface ValidOffer {
String message() default "";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
public class Validator implements ConstraintValidator<ValidOffer,ItemOfferId>{
//i get here ItemOfferId object and do my custom validation
}
现在我的问题是,有一些制约因素所特有的“获取”的服务,有些是具体到“设置”服务。 get和set方法都使用同一个对象。 有没有什么办法可以告诉注解,它是获取开启验证。 所以基本上我想传递一些基于运行时方法调用的参数..?
是否有可能..? 我在网上搜了很多,但找不到答案... 这将是非常好的,如果我能找出如何解决这个问题。
感谢, 姆斯瓦蒂
除非你的数据库中已经有无效的数据,在get()中验证有什么意义?在这种情况下,当前或远程系统可以做些什么? – WeaponsGrade