我们正在构建基于RESTFUL JSON的Web服务,我们需要验证输入bean参数,例如非空白,非空等。我们可以使用注释验证bean参数。
我们已经重载了CXF Inbound拦截器,以便在验证失败的情况下发送业务定义的HTTP错误代码而不是普通的HTTP 500错误。
当我们从WADL和XSD文件构建bean(存根)类时,每次生成新的bean类时,这些验证器注释都会丢失。
因此,我们不是使用注释,而是尝试通过一些外部属性来外化验证。
如果有任何方法可以通过外部化约束属性/ XML文件验证传入请求JSON,请告诉我们。
谢谢, Indranil
答案 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之类的验证注释来进行字符串验证