当前位置: 首页 > 知识库问答 >
问题:

Resteasy Bean验证没有被调用

鲜于意
2023-03-14

我的问题类似于不调用Resteasy Bean验证。不过,那里的解决方案并不奏效。

我使用的是Restease3.0.9。最终与resteasy-validator提供者-11在我的pom。我正在使用一个定制的码头类启动整件事。

奇怪的是,验证在@PathParams上运行良好,但在bean上却不行。

@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约束没有被调用。

我是不是遗漏了什么注释?

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

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

共有1个答案

楚方伟
2023-03-14

我相信,但不是100%确定,问题是在MyBean参数上缺少@Valid。我还建议将其设置为单独的类,而不是静态类。

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

 类似资料:
  • 我试图按照API密钥身份验证代码从这个答案:https://stackoverflow.com/a/48448901 我创建了我的过滤器类: 然后我实现了我的安全配置: 当我用头作为请求的一部分对应用程序进行外部调用时,我得到一个403禁止响应。我可以看到过滤器从头中拉出键。这部分正在工作。 但是,不会调用authenticate()方法来检查头是否有效。我不确定我错过了什么,代码在我看来是一样的

  • 问题内容: 您能帮忙检查一下为什么doFilter没有被调用吗 web.xml: 类签名: 调用http:// localhost:8080 / hello / world时 返回404 ,我在doFilter处设置了断点,看来doFilter没有被调用?(我尝试了tomcat 6.0.18、6.0.29,jdk1.6) 问题答案: 在以下情况下将不会调用该过滤器: 过滤器类在类路径中丢失和/或不

  • 问题内容: 我在告诉Android 方向更改时不打电话时遇到了麻烦。我已添加到清单中,但仍在调用方向更改时添加。这是我的代码。 AndroidManifest.xml SearchMenuActivity.java 还有我的LogCat输出 有人知道我在做什么错吗?谢谢。 问题答案: 要尝试的几件事: 而不是 确保您没有在任何地方打电话。这将导致onConfigurationChange()无法触

  • 问题内容: 我正在尝试在Angular中实现d3指令,这很困难,因为在视觉上什么也没有发生,并且在控制台上没有抛出任何错误。 这是我的d3指令: 这是我的HTML: 起初我以为不是要附加,因为要检查看起来像的元素,但是现在我认为该指令根本没有在运行。我从一开始就将其嵌入其中,也没有出现。我缺少简单的东西吗? 编辑: 我尝试将顶行更改为 但这也不起作用。我什至不知道两个标题之间有什么区别… 问题答案

  • 我编写了一个代码来启动活动A到活动B,活动A和B都有片段实现。 场景:如果活动A经常启动包含碎片的活动B,那么大多数时候它都错过了碎片。ondetach...我检查了日志,通常它会给我下面的重写方法日志: null null 我在用 我有什么遗漏吗?有什么建议吗?

  • 我是javascript新手,我试图创建一个简单的表单验证。当我点击提交按钮时,什么也没发生。我已经看了一段时间的例子,我似乎不知道我哪里出错了。有什么建议吗: 就在这篇文章之后,我要把它分解开来,开始变得更小。但与此同时,我想另一组眼睛不会受伤,很可能我做了什么可怕的错误。 我意识到我只是在上面扔了很多代码,所以提前感谢您筛选它。