10

Rest API URL があり、Rest Client (restclient-ui-2.4-jar-with-dependencies) 経由で本文 (ユーザー名、パスワード、その他のパラメーター) を含む POST 要求と同じものを送信しましたが、問題なく正常に動作しました。

元:

URL: 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);

前もってありがとう、カシール

4

1 に答える 1

15

上記のコンバーター Ex: "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 は文字列 - 残りの API URL
  • parametersMap - MultiValueMap
  • Employee - JSON レスポンスから変換する必要があるオブジェクト

忘れる:

restTemplate.getForObject(url,  class object, variablesMap);
  • url is : 文字列 - 残りの API URL
  • variablesMap - マップ
  • class object - JSON 応答から変換する必要があるオブジェクト
于 2012-11-15T06:28:47.203 に答える