首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有被调用的Resteasy Bean验证

没有被调用的Resteasy Bean验证
EN

Stack Overflow用户
提问于 2014-12-30 18:26:32
回答 1查看 1.3K关注 0票数 1

我的问题类似于Resteasy Bean Validation Not Being Invoked。不过,那里的解决办法行不通。

我正在使用Resteasy 3.0.9,在我的pom中使用resteasy-验证器-provider-11。我要用一个定制的Jetty类来启动整件事。

奇怪的是,验证在@PathParams上运行得很好,但在bean上却不起作用。

代码语言:javascript
复制
@POST
@Path("/foo/{myParam}")
public Message post(MyBean myBean, @PathParam("myParam") @Size(min=5) String myParam) {
    return new Message("bean:" + myBean.toString());
}

public static class MyBean {

    @NotNull
    public String myStr;

    @Max(value = 3)
    public int myInt;

    public String toString() {
        return myStr + myInt;
    }
}

在本例中,myParam上的@Size约束运行良好。但是MyBean中的@NotNull和@Max约束没有被调用。

我是不是在某个地方遗漏了注释?

还有一条线索。我的日志包括以下条目:

代码语言:javascript
复制
2014-12-30 12:16:56 org.hibernate.validator.internal.util.Version 6446 INFO  HV000001: Hibernate Validator 5.0.1.Final
2014-12-30 12:16:56 org.jboss.resteasy.plugins.validation.AbstractValidatorContextResolver 6477 INFO  Unable to find CDI supporting ValidatorFactory. Using default ValidatorFactory
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-31 03:08:29

我相信,但不是100%肯定,问题是您缺少了@ValidMyBean参数。我还建议将它改为单独的类,而不是静态类。

根据规范,对于对象是复杂对象的方法的验证约束需要有参数注释的@Valid,以确保约束是级联的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27710571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档