インターフェース WebTestClient.Builder
- 含まれているインターフェース:
WebTestClient
public static interface WebTestClient.Builder
WebClient.Builder
を介して基礎となる WebClient
をカスタマイズする手順。- 導入:
- 5.0
- 作成者:
- Rossen Stoyanchev, Brian Clozel, Sam Brannen, Micha ł Rowicki
メソッドのサマリー
修飾子と型メソッド説明apiVersionInserter
(ApiVersionInserter apiVersionInserter) WebTestClient.RequestHeadersSpec.apiVersion(Object)
で指定された API バージョンがリクエストに挿入される方法を抽象化するためにApiVersionInserter
を構成します。apply
(WebTestClientConfigurer configurer) 指定されたコンフィギュレーターをこのビルダーインスタンスに適用します。WebClient.create(String)
の説明に従ってベース URI を構成します。build()
WebTestClient
インスタンスをビルドします。clientConnector
(ClientHttpConnector connector) 使用するClientHttpConnector
を設定します。codecs
(ConsumerSE<ClientCodecConfigurer> configurer) defaultApiVersion
(ObjectSE version) まだ設定されていない場合に、すべてのリクエストに追加する API バージョンを指定するグローバルオプション。defaultCookie
(StringSE cookieName, StringSE... cookieValues) 指定された Cookie を、まだ追加されていないすべてのリクエストに追加します。defaultCookies
(ConsumerSE<MultiValueMap<StringSE, StringSE>> cookiesConsumer) 指定されたコンシューマーでデフォルトの Cookie を操作します。defaultHeader
(StringSE headerName, StringSE... headerValues) 指定されたヘッダーを追加していないすべてのリクエストに追加します。defaultHeaders
(ConsumerSE<HttpHeaders> headersConsumer) 指定されたコンシューマーでデフォルトのヘッダーを操作します。entityExchangeResultConsumer
(ConsumerSE<EntityExchangeResult<?>> consumer) レスポンスが単一のエンティティ、エンティティのリスト、byte[] に完全にデコードされた後に毎回呼び出されるEntityExchangeResult
コールバックを構成します。exchangeStrategies
(ExchangeStrategies strategies) 使用するExchangeStrategies
を構成します。filter
(ExchangeFilterFunction filter) 指定されたフィルターをフィルターチェーンに追加します。filters
(ConsumerSE<ListSE<ExchangeFilterFunction>> filtersConsumer) 指定されたコンシューマーでフィルターを操作します。responseTimeout
(DurationSE timeout) レスポンスを待機する最大時間。uriBuilderFactory
(UriBuilderFactory uriBuilderFactory) baseUrl(String)
の代替として、また事実上オーバーライドするために、事前に構成されたUriBuilderFactory
インスタンスを提供します。
メソッドの詳細
baseUrl
WebClient.create(String)
の説明に従ってベース URI を構成します。uriBuilderFactory
baseUrl(String)
の代替として、また事実上オーバーライドするために、事前に構成されたUriBuilderFactory
インスタンスを提供します。defaultHeader
指定されたヘッダーを追加していないすべてのリクエストに追加します。- パラメーター:
headerName
- ヘッダー名headerValues
- ヘッダー値
defaultHeaders
指定されたコンシューマーでデフォルトのヘッダーを操作します。コンシューマーに提供されるヘッダーは「ライブ」であるため、コンシューマーを使用して既存のヘッダー値を上書きしたり、値を削除したり、他のHttpHeaders
メソッドを使用したりできます。- パラメーター:
headersConsumer
-HttpHeaders
を消費する関数- 戻り値:
- このビルダー
defaultCookie
指定された Cookie を、まだ追加されていないすべてのリクエストに追加します。- パラメーター:
cookieName
- クッキー名cookieValues
- クッキーの値
defaultCookies
指定されたコンシューマーでデフォルトの Cookie を操作します。コンシューマーに提供されるマップは「ライブ」であるため、コンシューマーを使用して、既存のヘッダー値を上書きしたり、値を削除しSEたり、その他のMultiValueMap
メソッドを使用したりできます。- パラメーター:
cookiesConsumer
- Cookie マップを使用する関数- 戻り値:
- このビルダー
defaultApiVersion
まだ設定されていない場合に、すべてのリクエストに追加する API バージョンを指定するグローバルオプション。- パラメーター:
version
- 使用するバージョン- 戻り値:
- このビルダー
- 導入:
- 7.0
apiVersionInserter
WebTestClient.RequestHeadersSpec.apiVersion(Object)
で指定された API バージョンがリクエストに挿入される方法を抽象化するためにApiVersionInserter
を構成します。- パラメーター:
apiVersionInserter
- 使用するインサーター- 導入:
- 7.0
filter
指定されたフィルターをフィルターチェーンに追加します。- パラメーター:
filter
- チェーンに追加されるフィルター
filters
指定されたコンシューマーでフィルターを操作します。コンシューマーに提供されるリストは「ライブ」であるため、コンシューマーを使用してフィルターを削除したり、順序を変更したりできます。- パラメーター:
filtersConsumer
- フィルターリストを使用する関数- 戻り値:
- このビルダー
codecs
- パラメーター:
configurer
- 適用するコンフィギュレーター- 導入:
- 5.1.13
exchangeStrategies
使用するExchangeStrategies
を構成します。ほとんどの場合、
ExchangeStrategies
のコーデックを置き換えるのではなくカスタマイズできるcodecs(Consumer)
を使用することをお勧めします。これにより、複数の関係者がコーデック設定に貢献できるようになります。デフォルトでは、これは
ExchangeStrategies.withDefaults()
に設定されています。- パラメーター:
strategies
- 使用する戦略
responseTimeout
レスポンスを待機する最大時間。デフォルトでは 5 秒。
- パラメーター:
timeout
- レスポンスタイムアウト値
clientConnector
使用するClientHttpConnector
を設定します。デフォルトでは、これは内部で初期化および設定されます。ただし、
MockMvcWebTestClient
テストなどでコネクターを外部で用意してWebTestClient.bindToServer(ClientHttpConnector)
経由で渡す場合もあり、その場合はWebTestClient.mutateWith(WebTestClientConfigurer)
からこれを使用して置き換えることができます。- パラメーター:
connector
- 使用するコネクター- 導入:
- 6.1
entityExchangeResultConsumer
レスポンスが単一のエンティティ、エンティティのリスト、byte[] に完全にデコードされた後に毎回呼び出されるEntityExchangeResult
コールバックを構成します。事実上、以下のすべてと同等ですが、グローバルに 1 回登録されます。client.get().uri("/accounts/1") .exchange() .expectBody(Person.class).consumeWith(exchangeResult -> ... )); client.get().uri("/accounts") .exchange() .expectBodyList(Person.class).consumeWith(exchangeResult -> ... )); client.get().uri("/accounts/1") .exchange() .expectBody().consumeWith(exchangeResult -> ... ));
構成されたコンシューマーは、
Flux<T>
にデコードされたレスポンスには適用されないことに注意してください。レスポンスは、reactor.test.StepVerifier
などを介してテストクライアントのワークフローの外部で使用できます。- パラメーター:
consumer
- エンティティのレスポンスに適用するコンシューマー- 戻り値:
- ビルダー
- 導入:
- 5.3.5
apply
指定されたコンフィギュレーターをこのビルダーインスタンスに適用します。これは、事前にパッケージ化されたカスタマイズを適用できます。
- パラメーター:
configurer
- 適用するコンフィギュレーター
build
WebTestClient build()WebTestClient
インスタンスをビルドします。