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

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

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

@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属性的对象,或者如果我添加了一个没有默认值的字段,并且未在构建器中设置它,则将被忽略。

这可能吗?

java builder lombok
1个回答
0
投票

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

@JsonInclude(Include.NON_NULL)
© www.soinside.com 2019 - 2024. All rights reserved.