2017-07-15 53 views
0

我已經使用restTemplate從第三方API獲取細節。如何在Spring引導中將RestTemplate的getBody數組列表映射到類中?

哪裏,下面的代碼給我(使用response.getBody())JSON

ResponseEntity<String> response = restTemplate.exchange(uri, HttpMethod.GET, entity, String.class); 

{"Entries":[{"EntryId":"1","Field1":"1","Field2":"2"},{"EntryId":"2","Field1":"3","Field2":"4"}]} 

我也創建了一個名爲項

類,在字符串中的響應
@JsonIgnoreProperties(ignoreUnknown=true) 
public class Entries { 

    @JsonProperty("EntryId") 
    private String entryId; 

    @JsonProperty("Field1") 
    private String field1; 

    @JsonProperty("Field2") 
    private String field2; 

//getter and setters 

有沒有什麼方法可以使用RestTemplate將JSON Array與Entires類進行映射?

+0

我想'restTemplate.getForEntity(resourceUrl,Entity.class);' – fg78nc

+0

@ fg78nc其實我已經通過一些頭PARAMS。所以,我使用了'restTemplate.exchange()'。我剛剛找到了一個解決方案,並在下面發佈。 – imbond

回答

0

有兩種方法,

[1]使用ObjectMapper

ObjectMapper mapper = new ObjectMapper(); 
     Entries obj = mapper.readValue(rrateResponse.getBody(), Entries.class); 

[2]傳遞一個條目類

ResponseEntity<Entries> result = restTemplate.exchange(uri, HttpMethod.GET, entity, Entries.class); 

唯一缺少的東西是其在下文中提到的項。

@JsonIgnoreProperties(ignoreUnknown=true) 
public class Entries { 

    @JsonProperty("Entries") 
    private List<Entry> Entries; 

//getter and setter 
相關問題