基于XML的hibernate验证器在restful web服务中

时间:2015-10-19 21:49:56

标签: spring rest cxf hibernate-validator

我们正在构建基于RESTFUL JSON的Web服务,我们需要验证输入bean参数,例如非空白,非空等。我们可以使用注释验证bean参数。

我们已经重载了CXF Inbound拦截器,以便在验证失败的情况下发送业务定义的HTTP错误代码而不是普通的HTTP 500错误。

当我们从WADL和XSD文件构建bean(存根)类时,每次生成新的bean类时,这些验证器注释都会丢失。

因此,我们不是使用注释,而是尝试通过一些外部属性来外化验证。

如果有任何方法可以通过外部化约束属性/ XML文件验证传入请求JSON,请告诉我们。

谢谢, Indranil

2 个答案:

答案 0 :(得分:0)

您用什么来生成课程?

如果您正在使用Jaxb,则可以使用插件在生成类时向类添加注释。 Jaxb2 annotate plugin可以与jaxb绑定文件一起使用(此处的文档:jaxb customisation来自定义生成的内容。

第二个选项是使用Json验证,因为这个问题想要:validating incoming json request。为此,您需要一个xsd或json模式,而这似乎是您所拥有的。

答案 1 :(得分:0)

@fiw我有一个看起来像这样的Wadl-

<xs:element name="password">
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:length value="8"/>
    </xs:restriction>
    </xs:simpleType>
</xs:element>

我正在使用Apache CXF插件使用的wadl2java生成pojo,但无法在生成类时向其添加验证注释。

我不清楚如何使用jaxb插件添加@size之类的验证注释来进行字符串验证