设置
假设我有一个请求,例如:
{
"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/