java - 在响应中忽略 POJO 的 null 字段

我有一个领域很少的课程

static final class Sample {
     Enum A, B, C, D;
     Sample(A, B, C) {
        // A,B,C init; not D (it's null)
     }
}

当我使用 3 参数构造函数创建 Sample 实例时,我想在发送作为对 API 调用的响应时忽略第 4 个实例。

我怎样才能做到这一点?我不能使用 JsonIgnore 因为在其他流程中,D 会有一些非 null values;

回答1

您可以通过使用@JsonInclude(Include.NON_NULL) 在类级别忽略null 字段以仅包含非null 字段,从而排除value 为null 的任何属性。

回答2

您必须在类级别添加 (com.fasterxml.jackson.annotation.JsonInclude;) 的 @JsonInclude(JsonInclude.Include.NON_NULL),如下所示:

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude;

@JsonInclude(JsonInclude.Include.NON_NULL)
class Sample {
     Enum A, B, C, D;
     Sample(A, B, C) {
        // A,B,C init; not D (it's null)
     }
}

相似文章