Судя по опечатке в вашем коде returns
, я вижу, что этот код набран вручную.
На самом деле ваше решение, в котором разные имена в @JsonGetter
и @JsonSetter
должны работать. Возможно, у вас есть настройки Джексона, которые мешают ему работать. Я не могу сказать почему, не видя вашего полного кода. В любом случае, я дам вам другое решение.
@ JsonAlias определяет альтернативное имя во время десериализации. Исходное имя ("firstName" в вашем примере) по-прежнему работает.
Либо введите в поле
@JsonAlias("FIRST_NAME")
private String firstName;
, либо @JsonSetter
метод
private String firstName;
@JsonGetter("firstName")
public String getFirstName() {
return firstName;
}
@JsonSetter
@JsonAlias("FIRST_NAME")
void setFirstName(String firstName) {
this.firstName = firstName;
}
Полный тестовый код на Github . Если все еще не работает, либо разветвите мой репозиторий и перейдите на свой класс и тест, либо поделитесь готовым к запуску проектом на Github, чтобы воспроизвести проблему.