我嘗試將回應從 Api 決議到我的自定義物件。
大多數欄位都被正確決議,除了名稱如下的欄位:eMail、iKindName、bNumber、uTypeName、iStartDT、iKindCd、uTypeCd(第一個小寫,第二個大寫字母)
在這樣的欄位中,如果我使用我的自定義物件 ResponseV2,我會有空值。如果我使用物件型別而不是 ResponseV2 - 欄位 eMail、iKindName、bNumber、uTypeName、iStartDT、iKindCd、uTypeCd 不為空
我的 ReponseV2 中的欄位(模式:第一個小寫和第二個大寫字母)有什么問題?我應該在這里使用一些注釋,比如 @JsonProperty 嗎?
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class ResultV2 implements Serializable {
private String country;
private String federationNumber;
private String city;
private String regon;
private String managerSurname;
private String countryCd;
private String pib;
private String institutionUuid;
private String lNumber;
private String siTypeName;
private String managerName;
private String ministryNumber;
private String eMail;
private String supervisingInstitutionID;
private String nip;
private String street;
private String www;
private String espAddress;
private String voivodeship;
private String id;
private String iKindName;
private String federationComposition;
private String lastRefresh;
private String postalCd;
private String bNumber;
private String panNumber;
private List<BranchesV2> branches;
private String krs;
private String supervisingInstitutionName;
private String iLiqStartDT;
private String eunNumber;
private String uTypeName;
private String institutionUid;
private String phone;
private String iStartDT;
private String iLiqDT;
private String name;
private String iKindCd;
private String siTypeCd;
private String yearPib;
private String uTypeCd;
private String dataSource;
private String voivodeshipCode;
private String status;
private String statusCode;
}

uj5u.com熱心網友回復:
我有解決方案:如果我有,它會起作用
@JsonProperty ("eMail") private String eMail;
代替
private String eMail;
但為什么?
uj5u.com熱心網友回復:
Lombok@Data注釋正在生成 setter 方法作為
public void setEMail(final String eMail) {
this.eMail = eMail;
}
但是 json mapper 期望 setter 方法使用小寫字母,e如下例所示,因此找不到該方法。
public void seteMail(final String eMail) {
this.eMail = eMail;
}
只需@JsonProperty("eMail")在這些欄位上使用 JsonProperty 即可。它會作業得很好。
這里有一個關于它為什么會這樣作業的詳細解釋:如果主要的駝峰式單詞只有一個字母長,為什么 Jackson 2 不能識別第一個大寫字母?
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/317020.html
