我试图通过添加注释 @JsonInclude(JsonInclude.Include.NON_NULL) 来删除类级别的 null 值 但它不起作用。
我的班级结构如下
@JsonInclude(JsonInclude.Include.NON_NULL)
Class A extends BaseClass {
private String B;
private C;
}
Class C{
private String d;
private String e;
}
Request json
{
B: "xyz";
C: null;
}
由于 C 被分配为 null,我不希望在序列化时考虑它。任何输入都会非常有帮助。
为此,您最好使用 javax/jakarta 库。只需实施 spring-boot-starter-validation ,您将根据您正在运行的 Spring Boot 版本获得正确的验证。
import jakarta.validation.constraints.NotNull;
public class A extends BaseClass {
private String B;
@NotNull
private C c;
}
它将附带许多其他有用的验证,例如 @Size、@Pattern 和 @NotBlank。
不要忘记添加@Valid以进行嵌套验证。
import jakarta.validation.Valid;
public class D {
@Valid
private A a;
}