java - Spring Boot 中级联验证的问题(休息)

标签 java spring spring-boot

休息方法:

@NewSpan("NewSpan")
@RequestMapping(method = RequestMethod.POST)
public ResponceEntity someRest(@Valid @RequestBody RestBody) {}

休息主体结构:

@Data
@Entity
@Table(name = "some_table")
public class RestBody implements Serializable {

   @Id
   @NotNull(message = "Errr txt")
   String id;
   @Enumerated(EnumType.STRING)
   SomeStatus status;
   @NotNull(message = "Errr txt")
   @Valid
   @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER)
   List<ChildElement> childElements;
}


@Data
@Entity
@Table(name = "some_table")
public class ChildElement implements Serializable {

   @NotNull(message = "Errr txt")
   String name;
   @NotNull(message = "Errr txt")
   @Convert(converter = JsonNodeConverter.class)
   @Column(name = "content_schema", columnDefinition = "TEXT")
   JsonNode extContent;
}

Spring 验证 RestBody 中的字段,但在 ChildElement 中忽略它。 (例如“name”为空时的示例)。

如何配置Spring或类来验证子元素?

附注如果我尝试手动使用 ValidatorImpl 进行验证,它会检查 RestBodyChildElement
附言Spring Boot - 2.1.6

最佳答案

尝试使用 @NotBlank 而不是 @NotNull 因为您的客户端应用程序可能正在向这些值发送非空值 特别是当您的代码和验证注释看起来不错时。

关于java - Spring Boot 中级联验证的问题(休息),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58949905/

相关文章:

java - 如何检查变量是否已初始化

java - 随机化牌组

java - 如何关闭用户 session /身份验证。在 Spring OAuth2 中为用户/客户端发送访问 token 后的上下文

HTML 的 Javascript 函数只发生一次

Java:可以调用未知参数的函数

java - 如何使用条件查询查找具有外键的记录。它是使用 hbm.xml 完成的具有外键的 hibernate 一对一双向映射

spring - 如何将列表从 Controller 传递给jsp?

java - 无法找到或加载主类 org.apache.maven.wrapper.MavenWrapperMain

java - 具有依赖于配置文件的加载的自定义 Spring 属性文件

java - Spring Boot Api 休息 SSL