需要有关RestTemplate Post Request with Body Parameters的帮助



我有一个rest api url,并通过rest Client(restclient-ui-2.4-jar-with-dependences)提交了与POST请求相同的正文(用户名、密码和其他参数),它运行良好,没有任何问题。

例如:

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

当我使用SpringRestTemplatepostForObject(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);

提前感谢,Kathir

以上转换器例如:"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
  • 参数映射-多值映射
  • Employee-需要从JSON响应转换的对象

获取:

restTemplate.getForObject(url,  class object, variablesMap);
  • url是:String-rest api url
  • variablesMap-映射
  • 类对象-需要从JSON响应转换的对象

最新更新