在 spring 引导中验证嵌套模型

Validation nested models in spring boot

我在验证嵌套模型时遇到问题,看:

class A{
   @NotNull
   Integer i;
   B b;
}
class B{
   @NotNull
   Integer j;
}

在 spring 控制器中:
@Valid @RequestBody...

它正确地验证了 i,但没有验证 j。如何强制 Spring 验证任意深度?

第二件事:
是否可以进行以下验证:class 'A' 的对象仅当 ij 中的一个恰好是 null 时才正确。

class A{
   Integer i;
   Integer j;
}

支持对象图验证,您必须像下面那样用 @Valid 注释 B b

class A{
  @NotNull
  Integer i;
  @Valid
  B b;
}

详情请参考https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/?v=5.3#section-object-graph-validation

对于你问题的第二部分,你可以创建一个自定义验证器 class。您还需要该验证器的自定义注释。您可以在文档页面 here. A sample for custom Validator is here.

查看详细信息