Spring bootプロジェクトでWebClient
を最近使用し始めました。誰かがexchange
のretrieve
とWebClient
メソッドの違い/使用法に少し光を当てることができますか?.
私はexchange
がMono<ClientResponse>
を返し、retrieve
がResponseSpec
を返すことを理解しています。これらのそれぞれをいつ/なぜ使用する必要があるのかを知りたいだけです。
どうもありがとう。
@ JArgenteの回答に追加します。
retrieve()
メソッドの公式ドキュメントによると:
HTTPリクエストを実行し、レスポンスボディを取得します。
...
このメソッドは、exchange()を使用し、ClientResponseを介して応答本文をデコードするためのショートカットです。
および exchange()
メソッド
HTTPリクエストを実行し、レスポンスステータスとヘッダーでClientResponseを返します。次に、応答のメソッドを使用して本体を消費できます。
RetrieveメソッドはClientResponse
オブジェクトをデコードし、使用できる既製のオブジェクトを渡します。例外を処理するための非常に素晴らしいAPIはありません。
ただし、その一方で、exchangeメソッドは応答ステータスとヘッダーとともにClientResponseオブジェクト自体を渡します。交換メソッドを使用すると、応答オブジェクトをきめ細かく制御でき、応答オブジェクトと例外をより適切に処理できます。
APIを使いたい場合は、retrieve()
。を使用します。
応答オブジェクト、ヘッダー、および例外をより適切に制御したい場合は、exchange()
。