对任意方法返回类型施加约束会违反Bean Validation 1.0吗?



我知道Bean Validation 1.1引入了对验证任意方法的支持。

但是,在任意方法(例如,例如,@NotNull public Frobnicator frobnicate())上添加@NotNull约束会在Bean Validation 1.0中引起问题吗?或者应该这样的元数据——我希望!-简单地被Bean验证1.0验证器忽略?

(当然,我可以使用Hibernate验证器来测试,但这只能告诉我这个特定的实现是否遵循了这种状态;它并没有告诉我规范作者是否有意允许在Bean validation 1.0中对任意方法放置验证约束)

Hibernate验证器x (BV 1.0的参考实现)为方法验证提供了自己的API,因此方法约束可能在那里被验证。

但是仅仅给一个方法添加一个约束并不会导致它的验证,相反,你需要某种方法拦截器、AOP通知等来在方法验证时调用验证引擎。所以我认为你不会在BV 1.0中看到任何意想不到的副作用。

我想对于Apache BVAL也是一样的,它也有一个方法验证的特性。

在我看来,因为Validations 1.0中没有指定这种行为,所以没有办法告诉所有的实现都会做同样的事情。

最新更新