我设置了dropwizard 0.7.1,使用json时@valid
注释正常工作,我在HTTP响应中得到422个错误。
如果我更改资源并添加jaxb绑定以使用XML,则验证永远不会启动。 是否支持?
我尝试手动实例化一个休眠验证器并正确检测到错误。
谢谢
答案 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