最新の安定バージョンについては、Spring Framework 7.0.0 を使用してください!

REST クライアント

このセクションでは、REST エンドポイントへのクライアント側アクセスのオプションについて説明します。

RestTemplate

RestTemplate は、HTTP リクエストを実行する同期クライアントです。これはオリジナルの Spring REST クライアントであり、基礎となる HTTP クライアントライブラリ上でシンプルなテンプレートメソッド API を公開します。

5.0 では、RestTemplate はメンテナンスモードであり、マイナーな変更とバグのリクエストのみが受け入れられます。より最新の API を提供し、同期、非同期、ストリーミングのシナリオをサポートする WebClient の使用を検討してください。

詳細は REST エンドポイントを参照してください。

WebClient

WebClient は、HTTP リクエストを実行するためのノンブロッキング、リアクティブクライアントです。5.0 で導入され、RestTemplate の最新の代替手段を提供します。同期シナリオと非同期シナリオの両方、およびストリーミングシナリオを効率的にサポートします。

RestTemplate とは対照的に、WebClient は以下をサポートします。

  • ノンブロッキング I/O。

  • Reactive Streams のバックプレッシャー。

  • より少ないハードウェアリソースで高い同時実行性。

  • Java 8 ラムダを活用する関数スタイルの流れるような API。

  • 同期および非同期の相互作用。

  • サーバーへのストリーミングまたはサーバーからのストリーミング。

詳細については、WebClient を参照してください。

HTTP インターフェース

Spring フレームワークを使用すると、HTTP サービスを HTTP 交換メソッドを使用する Java インターフェースとして定義できます。次に、このインターフェースを実装して交換を実行するプロキシを生成できます。これは、HTTP リモートアクセスを簡素化するのに役立ち、同期またはリアクティブなどの API スタイルを選択するための追加の柔軟性を提供します。

詳細は REST エンドポイントを参照してください。