我有基于Spring 4的WebService,我正在使用Hibernate Validator(超出MethodValidationPostProcessor)。我的问题是我有ClientService
接口及其实现。所以我把Bean Validation约束放在了实现上,它迫使我把这些约束放在接口上(抛出ConstraintDeclarationException
)(或者在两者中)。
我想知道两件事:
提前致谢!此致
答案 0 :(得分:2)
回答你的第一个问题。该行为在Bean Validation规范部分4.5.5中指定。 Method constraints in inheritance hierarchies。基本上,规则是不能在子类型中加强方法的前提条件(由参数约束表示)。这就是所谓的Liskov substitution principle。
要回答第二个问题,目前无法在实现类上设置约束。有HV-872建议将这些规则的可配置放宽作为Hibernate Validator特定功能实现,但尚未实现。