【问题标题】:Need help on RestTemplate Post Request with Body Parameters?需要有关带有正文参数的 RestTemplate 发布请求的帮助?
【发布时间】:2012-08-25 12:38:46
【问题描述】:

我有一个rest api url并通过Rest Client(restclient-ui-2.4-jar-with-dependencies)提交了与带有正文(用户名,密码,其他参数)的POST请求相同的内容,并且没有任何问题。

例如:

网址:https://test.com/cgi-bin/testing/api 正文:username=testuser&password=pass123&id=13002&name=raju

当我使用 Spring RestTemplate postForObject(url, varmap, Employee.class) 方法时,同样不能正常工作。

谁能帮我举一个简单的例子,请求是一个 URL,带有正文参数,响应是一个类映射的 XML?

示例代码:

  MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>();
  map.add("username", "test");
  map.add("password", "test123");
  map.add("id", "1234");
  MarshallingHttpMessageConverter mc = new MarshallingHttpMessageConverter();
  mc.setMarshaller(new Jaxb2Marshaller());
  mc.setUnmarshaller(new Jaxb2Marshaller());
  list.add(marshallingHttpMessageConverter);
  emediateRestTemplate.setMessageConverters(list);
  Employee employee = (Employee) restTemplate.postForObject(url, map, Employee.class);

提前致谢, 卡西尔

【问题讨论】:

  • 你能显示你的代码不起作用吗?
  • restTemplate.postForObject(url, parametersMap, Employee.class); .能否请您告诉我 postForObject 与 postForExchange 之间的区别?
  • 您应该使用代码更新问题,而不是将其添加到 cmets。另外,请显示多行代码,同时显示相关设置。最后,Spring 网站上有大量关于每种方法的作用的文档。也许你想先看看。
  • 我已经更新了问题。能否请您帮我编写代码并告诉我 Spring 站点,其中每个方法都有可用的示例?

标签: spring resttemplate


【解决方案1】:

上述转换器例如:“MarshallingHttpMessageConverter”不是必需的。

MultiValueMap<String, String> parametersMap = new LinkedMultiValueMap<String, String>();
parametersMap.add("username", "test");
parametersMap.add("password", "test123");
parametersMap.add("id", "1234");

对于帖子:

restTemplate.postForObject(url, parametersMap, Employee.class);
  • url 是字符串-rest api URL
  • parametersMap - 多值映射
  • Employee - 需要从 JSON 响应转换的对象

获取:

restTemplate.getForObject(url,  class object, variablesMap);
  • url 是:字符串-rest api URL
  • variablesMap - 地图
  • 类对象 - 需要从 JSON 响应转换的对象

【讨论】:

  • 如何得到请求的响应?
猜你喜欢
  • 2018-06-11
  • 1970-01-01
  • 2021-09-22
  • 2011-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多