你可以查看这篇文章:
How to pass List or String array to getForObject with Spring RestTemplate,该帖子的解决方案是:
列表或其他类型的对象可以使用RestTemplate的postForObject方法发布.我的解决方案如下:
控制器:
@RequestMapping(value="/getLocationInformations", method=RequestMethod.POST)
@ResponseBody
public LocationInfoObject getLocationInformations(@RequestBody RequestObject requestObject)
{
// code block
}
创建一个发布到服务的请求对象:
public class RequestObject implements Serializable
{
public List pointList = null;
}
public class Point
{
public Float latitude = null;
public Float longitude = null;
}
创建响应对象以从服务获取值:
public class ResponseObject implements Serializable
{
public Boolean success = false;
public Integer statusCode = null;
public String status = null;
public LocationInfoObject locationInfo = null;
}
使用请求对象发布点列表并从服务获取响应对象:
String apiUrl = "http://api.website.com/service/getLocationInformations";
RequestObject requestObject = new RequestObject();
// create pointList and add to requestObject
requestObject.setPointList(pointList);
RestTemplate restTemplate = new RestTemplate();
ResponseObject response = restTemplate.postForObject(apiUrl, requestObject, ResponseObject.class);
// response.getSuccess(), response.getStatusCode(), response.getStatus(), response.getLocationInfo() can be used