аннотации jackson + lombok
имеем класс, данные ложатся в мапу.
@Getter
@ToString
@Builder
//@FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true)
//@JsonIgnoreProperties(value = {"firstName", "lastName"})
public class User {
// @JsonProperty("id")
private final UUID userUid;
@JsonIgnore
private final String firstName;
@JsonIgnore
private final String lastName;
private final Gender gender;
private final Integer age;
private final String email;
public enum Gender {
MALE, FEMALE
}
public String getFullName() {
return this.firstName + " " + this.lastName;
}
public int getDateOfBirth() {
return LocalDate.now().minusYears(age).getYear();
}
public User(@JsonProperty("userUid") UUID userUid
, @JsonProperty("firstName") String firstName
, @JsonProperty("lastName") String lastName
, @JsonProperty("gender") Gender gender
, @JsonProperty("age") Integer age
, @JsonProperty("email") String email) {
this.userUid = userUid;
this.firstName = firstName;
this.lastName = lastName;
this.gender = gender;
this.age = age;
this.email = email;
}
public static User newUser(UUID userUid, User user) {
return User.builder()
.userUid(userUid)
.firstName(user.getFirstName())
.lastName(user.getLastName())
.gender(user.getGender())
.age(user.getAge())
.email(user.email)
.build();
}
}
аннотации JsonIgnore над полем не срабатывают, поля отображаются в респонсе.
данные скрываются когда аннотирую класс JsonIgnoreProperties или добавлением аннотаций над геттером.
а JsonProperty над полем вообще 500 ошибку выбрасывает...
получается jackson аннотации с ломбоком не срабатавыют, и надо над сеттерами прописывать, или я что-то не так делаю?