【问题标题】:Hibernate Validator: Only Return Child Name in Path for Property PathsHibernate Validator:仅在属性路径的路径中返回子名称
【发布时间】:2017-01-27 17:51:15
【问题描述】:

设置

假设我有这样的请求:

{
   "parent": {
       "child": null
   }
}

如果我将它映射到这样的 bean:

public class Parent {

    @NotBlank private final String child;

    @JsonCreator
    public Parent(
            @JsonProperty("child") String child) {
        this.child = child;
    }
}

鉴于上述请求,如果我使用 @Valid 注释来注释我的父 bean(名为 parent),我最终会得到一个将属性路径设置为 "parent.child" 的违规约束。

问题

我很好奇的是,是否有一种简单的方法可以在属性路径中只包含子属性名称,所以它只是解析为"child"

我意识到我可以为此编写一个自定义验证器,但我觉得这有点矫枉过正。是否有任何内置方法可以使用 Hibernate Validator 完成此操作?

【问题讨论】:

    标签: java bean-validation hibernate-validator


    【解决方案1】:

    在 Hibernate Validator 中无法自动实现这一点。

    您不能将Parent 对象本身传递给验证引擎(而不是您似乎拥有的一些包装器对象)吗?否则,您可以实施某种后处理,从发送给客户端的响应中返回字段/路径名称中的第一个元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-14
      • 2020-03-14
      • 1970-01-01
      • 2017-05-18
      • 1970-01-01
      相关资源
      最近更新 更多