@JsonInclude(JsonInclude.Include.NON_NULL) 不起作用

问题描述 投票:0回答:1

我试图通过添加注释 @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,我不希望在序列化时考虑它。任何输入都会非常有帮助。

java json spring-boot annotations
1个回答
0
投票

为此,您最好使用 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;
}
© www.soinside.com 2019 - 2024. All rights reserved.