java - hibernate validator : Only Return Child Name in Path for Property Paths

标签 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”

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

最佳答案

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

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

关于java - hibernate validator : Only Return Child Name in Path for Property Paths,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41900091/

相关文章:

java - 无法弄清楚在数组中使用循环

java - Android工具栏设计

java - 带有@Pattern 的元注释在 Spring 不起作用

Javax Bean验证: @Max and @Min is not working

java - Hibernate validator 不适用于 Spring

java - 如何使用 Java 以编程方式获取 GCP Bearer token

java - 如何在selenium java中处理工具提示

java - 如何自定义Bean验证ConstraintViolationException?

java - 如何获取ConstraintValidatorContext?

java - 当 @NotEmpty 用于返回类型时,hibernate validator 错误