web-dev-qa-db-ja.com

Springプロジェクトの製品コード用のRestTemplateとApache Httpクライアント

私たちは、本番稼働を開始するSpringプロジェクトを持っています。現在、プロジェクトはApache Http Clientを使用しています。 RestTemplateHttpClientとして使用する考えがあります。

Apache'sよりもRestTemplateを使用することの顕著な利点を確認するために掘り下げています。また、どのHTTPトランスポートが実装でRestTemplateを実行するかを知ることは興味深いでしょう。 Apache Httpクライアントは長年にわたっていくつかのグループで使用されており、高い評価を得ています。

RestTemplateに移行するリスクはありますか?

さらに、この blog は、RestTemplateを実稼働用に構成する必要があることを示していますが、構成は最小限です。

ありがとう

31
brain storm

RestTemplateとHttpClientは同じ抽象化レベルでは動作しません。

HttpClientはHTTPを使用して通信するための汎用ライブラリですが、RestTemplateはエンティティのJSON/XML変換などを処理する高レベルの抽象化です。

RestTemplate ClientHttpRequestFactoryに委任 、および このインターフェイスの実装の1つ はApacheのHttpClientを使用します。

そのため、Restful APIと通信することが目的であり、まだHttpClientを使用したい場合は、HttpClientでRestTemplateを使用できます。

先ほどお伝えした内容は、リンク先のブログで説明されているとおりです。

そのため、解決策はorg.springframework.http.client.HttpComponentsClientHttpRequestFactoryを使用することです。これは、リクエストの作成をHttpClientに委任するClientHttpRequestFactoryです。

58
JB Nizet