根据我找到的例子,我不太明白如何解决我的特殊情况。我试图将JSON字符串发布到URL以创建新对象。 REST服务的响应是新创建的资源的URI。 REST调用假设如下:
http://www.some.url.com/REST/create?data={ "param1":"value1", "param2":"value2", ... }
那么根据上面的例子,我的参数是什么?是这样的吗?
RestTemplate restTemplate = new RestTemplate();
URI uri = restTemplate.postForLocation("http://www.some.url.com/REST/create?data=", "{ "param1":"value1", "param2":"value2", ... }");
我目前拥有Map中的所有param / value对,可以使用Jackson轻松转换为JSON。在这种情况下,我可以执行以下操作:
Map<String, String> record = new HashMap<String, String>();
record.put("param1","value1");
record.put("param2","value2");
URI uri = restTemplate.postForLocation("http://www.some.url.com/REST/create?data=", record);
任何帮助将不胜感激!
答案 0 :(得分:0)
这个简单的方法
public static String callService(String url, Map<String, String> data) throws Exception
{RestTemplate rest = new RestTemplate();
ResponseEntity<String> response= rest.postForEntity(url, data, String.class);
System.out.println(response.getBody());
}