23

Url、Credentials は、RestClient UI と Curl で機能します。ここで、Spring RestTemplate 経由で同じものにアクセスすると「500」エラーが発生します。

次のコードを使用しています。

MultiValueMap<String, Object> map = new LinkedMultiValueMap<String, Object>();
map.add("name", user);
map.add("password", password);
restTemplate.postForObject(url, request, Employee.class, map);

問題を解決するための提案やコメントをお知らせください。

4

8 に答える 8

18

以下で説明するように、あなたを作成してあなたHttpComponentsClientHttpRequestFactoryに渡すことをお勧めします。RestTemplate

ClientHttpRequestFactory requestFactory = new     
      HttpComponentsClientHttpRequestFactory(HttpClients.createDefault());

RestTemplate restTemplate = new RestTemplate(requestFactory);

このようにして、アプリケーションのテスト時にサーバー側の問題 (エラー コード 500 に直面するなど) を回避できます。

サーバーではなくローカル環境で機能する同じ問題がありました。

デフォルトでは、このファクトリはシステムプロパティを使用してファクトリを作成し、実際のサーバー環境で多くの苦痛を引き起こす可能性があるため、構築中に渡すHttpClients.createDefault()ことをお勧めします。カスタム を渡すこともできます。HttpComponentsClientHttpRequestFactoryHttpClientHttpClient

于 2015-04-06T08:30:15.900 に答える
8
RestTemplate header Accept problem 
--> accept - text/plain, application/json, */*

HttpClient 4.x header Accept
--> accept - application/json

だから私は修正した

HttpHeaders headers = new HttpHeaders();
headers.add("Accept", MediaType.APPLICATION_JSON_VALUE);

http://www.manning-sandbox.com/message.jspa?messageID=119733

于 2014-01-07T06:40:04.850 に答える
-1

同じ問題がありました。ローカルサーバーを再起動すると接続がリセットされ、問題が解決しました。

于 2021-01-07T07:51:56.040 に答える