我有两个问题:
Spring如何使用 RestTemplate.
通过遵循http://spring.io/guides/gs/consuming-rest/的教程,我正在尝试使用https://bitpay.com/api/rates。
发布于 2014-05-15 18:18:59
也许这样..。
ResponseEntity<Object[]> responseEntity = restTemplate.getForEntity(urlGETList, Object[].class);
Object[] objects = responseEntity.getBody();
MediaType contentType = responseEntity.getHeaders().getContentType();
HttpStatus statusCode = responseEntity.getStatusCode();
RequestMapping
的控制器代码
@RequestMapping(value="/Object/getList/", method=RequestMethod.GET)
public @ResponseBody List<Object> findAllObjects() {
List<Object> objects = new ArrayList<Object>();
return objects;
}
ResponseEntity
是HttpEntity
的扩展,它添加了HttpStatus
状态代码。在RestTemplate
以及@Controller
方法中使用。在RestTemplate
中,这个类由getForEntity()
和exchange()
返回。
发布于 2015-08-12 00:29:54
首先定义一个对象来保存返回到数组中的实体。例如:
@JsonIgnoreProperties(ignoreUnknown = true)
public class Rate {
private String name;
private String code;
private Double rate;
// add getters and setters
}
然后,您可以使用该服务,并通过以下方式获取强类型列表:
ResponseEntity<List<Rate>> rateResponse =
restTemplate.exchange("https://bitpay.com/api/rates",
HttpMethod.GET, null, new ParameterizedTypeReference<List<Rate>>() {
});
List<Rate> rates = rateResponse.getBody();
上面的其他解决方案也可以,但我喜欢得到一个强类型的列表,而不是一个Object[]。
发布于 2014-11-07 15:25:33
对我来说,这是可行的
Object[] forNow = template.getForObject("URL", Object[].class);
searchList= Arrays.asList(forNow);
其中Object是您想要的类
https://stackoverflow.com/questions/23674046
复制相似问题