如何从ResponseEntity中提取对象列表?

may*_*hal 0 java spring spring-mvc jersey-2.0

这是我的 get API 返回员工列表。

@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/get")
public List<Employee> getEmployee() {
    return employeeFacade.getAllEmployee();
}
Run Code Online (Sandbox Code Playgroud)

我想EmployeeResponseEntity<String>.

RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
//headers.setContentType(MediaType.APPLICATION_JSON);

Employee employee = new Employee();

HttpEntity<Employee> entity = new HttpEntity<Employee>(employee, headers);
ResponseEntity<String> result = restTemplate.exchange(uri, HttpMethod.GET, entity, String.class);

System.out.println("result:" + result);
Run Code Online (Sandbox Code Playgroud)

如何使这项工作?

Dea*_*ool 8

如果 API 调用将对象作为 JSON返回ListEmployee那么您可以直接将该 JSON 解析为List<Employee>对象ParameterizedTypeReference

ResponseEntity<List<Employee>> result = restTemplate.exchange(uri, HttpMethod.GET, entity,  new ParameterizedTypeReference<List<Employee>>() {});
Run Code Online (Sandbox Code Playgroud)

getBody() 将返回响应正文

List<Employee> emps = result.getBody();
Run Code Online (Sandbox Code Playgroud)