私はRESTAPI URLを持っており、RESTクライアント(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);
よろしくお願いします、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は次のとおりです。文字列-RESTAPIURLパラメータマップ-MultiValueMap従業員-JSON応答から変換する必要があるオブジェクト
忘れる:
restTemplate.getForObject(url, class object, variablesMap);
urlは次のとおりです。文字列-RESTAPIURL変数マップ-マップクラスオブジェクト-JSON応答から変換する必要があるオブジェクト