Впервые в весенний загрузки и Java.
Проходя сериализацию по Джексону, получил следующий вопрос.
"Как будет обрабатываться имя JsonProperty, если поле является открытым / закрытым с совпадающими / не совпадающими именами методов получения?"
Случай 1: -
public class FeedbackRequest {
@JsonProperty("vzIdCurrentValue")
private/public String vzId;
public String getVzId() {
return vzId;
}
public void setVzId(String vzId) {
this.vzId = vzId;
}
}
Случай 2: -
public class FeedbackRequest {
@JsonProperty("vzIdCurrentValue")
public String vzIdValue;
public String getVzId() {
return vzIdValue;
}
public void setVzId(String vzId) {
this.vzIdValue = vzId;
}
}
Результат десериализации: -
Дело 1: - { "vzIdCurrentValue": null}
Случай 2: - {"vzId": null, "vzIdCurrentValue": null}
Вопросы: -
Будет ли использоваться имя jsonproperty, когда имя получателя точно совпадает с именем поля? (например: независимо от спецификатора доступа, т. е. случай 1)
Отдельные имена свойств будут использоваться, когда имя получателя не совпадает точно с именем поля?
(один для метода получения и другой для открытого поля [имя свойства json используется вместо имени поля, если присутствует @JsonProperty, в противном случае имя поля по умолчанию])?
PS: случай 2 используется только для тестирования.
Может ли кто-нибудь поправить меня, если я здесь не прав?