インターフェース ClientHttpRequestInterceptor
- すべての既知の実装クラス:
BasicAuthenticationInterceptor
- 関数インターフェース:
- これは関数インターフェースであるため、ラムダ式またはメソッド参照の割り当てターゲットとして使用できます。
クライアント側の HTTP リクエストをインターセプトする契約。実装を
RestClient
または RestTemplate
に登録して、送信リクエストや受信レスポンスを変更できます。- 導入:
- 3.1
- 作成者:
- Arjen Poutsma
メソッドのサマリー
修飾子と型メソッド説明intercept
(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) 指定されたリクエストをインターセプトし、レスポンスを返します。
メソッドの詳細
intercept
ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOExceptionSE 指定されたリクエストをインターセプトし、レスポンスを返します。指定されたClientHttpRequestExecution
により、インターセプターはチェーン内の次のエンティティにリクエストとレスポンスを渡すことができます。このメソッドの典型的な実装は、次のパターンに従います。
- リクエストと本文を調べます。
- 必要に応じて、リクエストをラップして HTTP 属性をフィルタリングします。
- オプションで、リクエストの本文を変更します。
ClientHttpRequestExecution.execute(HttpRequest, byte[])
を使用してリクエストを実行する- または、リクエストを実行せずに実行を完全にブロックする
- オプションで、レスポンスをラップして HTTP 属性をフィルタリングします。
メモ: インターセプターがレスポンスを受信した後に例外をスローした場合、
ClientHttpResponse.close()
を介してレスポンスを閉じる必要があります。- パラメーター:
request
- メソッド、URI、ヘッダーを含むリクエストbody
- リクエストの本文execution
- リクエストの実行- 戻り値:
- レスポンス
- 例外:
IOExceptionSE
- I/O エラーの場合