JAX-RS忽略bean验证约束

时间:2013-09-10 14:22:33

标签: validation jax-rs

我做了一个JAX-RS服务。它通过POST请求消耗/生成json。一切正常,除了bean验证

我在包javax.validation.constraints中添加了一些约束到我的POJO的字段,这些字段用作请求/响应消息的包装器。 (POJO没有任何其他注释,如JAXB @XmlRootElement或其他)

如果我尝试调用我的服务 - 它可以工作,但约束完全被忽略了。即我使用正确或错误的参数调用我的服务,并且在两种情况下都将调用RAX-RS传递给我的EJB。

我能错过什么?一些特殊的配置,一些特殊的依赖?

P.S。我使用提供Jersey 2.0的glassfish 4.0

1 个答案:

答案 0 :(得分:0)

为了调用bean验证,您需要在类路径上有一个验证器。常用的验证器是hibernate-validator,因为它是参考实现。

http://www.hibernate.org/subprojects/validator.html

一旦在类路径上有验证器,就会在遇到JSR-303注释时检测并调用它。