如何将 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
我使用 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