Java Hibernate验证程序:仅在属性路径的路径中返回子名称
设置 假设我有这样的请求:Java Hibernate验证程序:仅在属性路径的路径中返回子名称,java,bean-validation,hibernate-validator,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 =
{
"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是否有任何内置方法可以实现这一点?在Hibernate Validator中无法自动实现这一点
您不能将
父对象本身传递给验证引擎(而不是您似乎拥有的某个包装器对象)吗?否则,您可以实现某种后处理,从发送给客户端的响应中的字段/路径名返回第一个元素。在Hibernate Validator中无法自动实现这一点
您不能将父对象本身传递给验证引擎(而不是您似乎拥有的某个包装器对象)吗?否则,您可以实现某种后处理,从发送给客户端的响应中的字段/路径名返回第一个元素