仅当 属性 为 null 时,如何才能从 lombok 生成器中排除 属性

How can I exclude a property from a lombok builder only if the property is null

我有一个用户模型 class 看起来像:

@JsonSerialize
@Getter
@Setter
@FieldDefaults(level = AccessLevel.PRIVATE)
@Builder
public class User {
    @Default
    String _dn = BASE_USER_DN;
    @Default
    String[] objectClass = {"top", "person", "organizationalPerson", "inetOrgPerson", "companyUser"};
    @Default
    String[] cn = {"user205"};
    @Default
    String[] sn = {"Dynamic2"};
    @Default
    String[] username = {"LindaDynamic2"};
}

现在我想生成一个省略空字段的用户对象,因此:

userBody = User.builder().cn(null).build();

会创建一个没有 cn 的对象 属性 或者如果我添加了一个没有默认值的字段并且它没有在构建器上设置它将被省略。

这可能吗?

如果要在序列化期间排除,请添加以下注释:

@JsonInclude(Include.NON_NULL)