Hibernate验证器:仅返回属性路径的路径中的子名称

时间:2017-01-27 17:51:15

标签: java bean-validation hibernate-validator

设置

说我有一个请求:

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

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

public class Parent {

    @NotBlank private final String child;

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

如果我使用@Valid注释对我的Parent bean(名为parent)进行注释,请给出上述请求,我最终得到一个违规约束,其属性路径设置为"parent.child"

问题

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

我意识到我可以为此编写一个自定义验证器,但我觉得这样有点矫枉过正。有没有内置的方法来实现这个Hibernate Validator?

1 个答案:

答案 0 :(得分:0)

在Hibernate Validator中无法自动实现此功能。

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