如何将 RestTemplate 的 getBody 数组列表响应映射到 Spring 引导中的 class?

How to map getBody array list response of RestTemplate into class in Spring boot?

我使用 restTemplate 从第三方获取详细信息 API。

在哪里,下面的代码给我一个字符串响应(使用 response.getBody())

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

JSON

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

我还创建了一个名为条目的 class,

@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 数组映射到整个 class 吗?

有两种方法,

[1] 使用 ObjectMapper

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

[2] 传递条目 class

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