我使用Resteasy与Google Guice结合使用Resteasy-Guice。我一直在寻找方法来验证我的请求机构。我想例如做:使用Resteasy验证请求的正确方法是什么?
public static class MyPojo {
@NotEmpty private String contents;
}
然后在我的资源使用
@POST
@ValidateRequest
public void doPost(@Valid MyPojo myPojo) {
// use myPojo only if valid
}
我已与RestEasy的-休眠-验证提供者的工作。但是,由于我切换到更新的版本,这引入了(不需要的)对EJB的依赖。另见:RESTEASY-1056。在评论中指出,你应该切换到更新的验证器-11:
切换到resteasy-validator-provider-11,它实现了较新的Bean Validation 1.1规范。
的docs说:
验证默认打开(假设RestEasy的验证器提供商-11-的.jar是可用的),尽管参数和返回值的验证可以被关闭或修改在validation.xml配置文件中。有关详细信息,请参阅Hibernate验证器文档。
然而,我不设法得到这个工作,我的配置,因为我发现自己包括像hibernate-validator
,javax.el-api
,javax.el
和hibernate-validator-cdi
依赖和注解像ValidateOnExecution
。但是,我没有发现任何被实例化或无效的请求被拒绝。
什么是使用Resteasy进行验证的首选,轻量级和可行的方法?
我已删除了所有的验证依赖关系,然后插入相同的版本你。然而,我现在遇到了以下问题:https://issues.jboss.org/browse/RESTEASY-826 –