java - Spring Boot 中的验证嵌套模型

标签 java spring spring-boot jackson hibernate-validator

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

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

在 Spring Controller 中:@Valid @RequestBody...
它正确验证 i ,但不验证 j .如何强制 Spring 验证任意深度?

第二件事:
是否可以进行以下验证:类“A”的对象仅适用于 i 之一jnull .
class A{
   Integer i;
   Integer j;
}

最佳答案

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

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更多细节。

对于问题的第二部分,您可以创建一个自定义 Validator 类。您还需要为该 validator 自定义注释。您可以在文档页面 here 查看详细信息.自定义 validator 的示例是 here .

关于java - Spring Boot 中的验证嵌套模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41005850/

相关文章:

java - 如何在 Google App Engine 中动态编译 Java 类

java - 如何使用 spring boot 和 jOOQ 对数据库进行逆向工程并生成代码?

java - 以编程方式创建的对象可以通过注释访问Spring上下文吗?

java - Spring 多部分文件最大大小

java - Maven pom.xml 更改 list 主类

java - BufferedReader 导致 Java GUI 挂起

java - 带有 Gradle 的 Spring Boot 任务 :test? 失败

java - 使用 Spring Boot Java 嵌入 Grizzly (glassfish) Servlet 容器

angularjs - Angular 简单路由不起作用

java - Tomcat 9 上的 SSL Windows 认证错误