gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 20:17:40 29 4
gpt4 key购买 nike

休息方法:

@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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com