Как я могу исключить свойство из строителя lombok, только если свойство имеет значение null - PullRequest
0 голосов
/ 16 января 2020

У меня есть класс пользовательской модели, который выглядит следующим образом:

@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 или если я добавил поле без значения по умолчанию, и оно не было установлено в компоновщике, оно будет опущено.

Возможно ли это?

1 Ответ

0 голосов
/ 16 января 2020

Добавьте следующую аннотацию, если вы хотите исключить во время сериализации:

@JsonInclude(Include.NON_NULL)
...