在dropwizard中验证XML实体

时间:2014-10-03 16:21:51

标签: java xml validation jersey dropwizard

我设置了dropwizard 0.7.1,使用json时@valid注释正常工作,我在HTTP响应中得到422个错误。

如果我更改资源并添加jaxb绑定以使用XML,则验证永远不会启动。 是否支持?

我尝试手动实例化一个休眠验证器并正确检测到错误。

谢谢

3 个答案:

答案 0 :(得分:0)

我在我的用户类中添加了此方法,并且验证工作正常。在我的junit测试中,抛出了与给定错误消息完全相同的javax.validation.ConstraintViolationException。我使用DW 0.7.1!

    ...
    @ValidationMethod(message="user_name is null or empty")
    public boolean isUserName() {       
        if (Strings.isNullOrEmpty(user_name)) {
            return false;
        } else {
            return true;
        }
    }
    ...

只有一个问题仍然让我困惑。我无法用自己的方式命名这个方法。重要的是,如果类attibut名为user_name,则验证方法必须为isUserName()。尝试了其他方法名称,但是出现了错误。

答案 1 :(得分:0)

我最后编写了一些MessageBodyProviders,它们包装了JAXB并添加了Dropwizard验证:https://github.com/soulrebel/dropwizard-jaxb

我发布了初始版本。我可能会添加一些测试并将其发布到Maven。

答案 2 :(得分:0)

Jackson还支持Jaxb和Jackson注释的XML POJO。您还可以查看我在https://github.com/yunspace/dropwizard-xml中编写的示例,该示例扩展了JacksonJaxbXMLProvider