インターフェース WebTestClient.Builder
- 含まれているインターフェース:
- WebTestClient
public static interface WebTestClient.Builder
テストに使用する
WebClient
をカスタマイズする手順。内部で WebClient.Builder
に委譲します。方法の概要
修飾子と型メソッド説明apply
(WebTestClientConfigurer configurer) 指定されたコンフィギュレーターをこのビルダーインスタンスに適用します。WebClient.create(String)
の説明に従ってベース URI を構成します。build()
WebTestClient
インスタンスをビルドします。clientConnector
(ClientHttpConnector connector) 使用するClientHttpConnector
を設定します。codecs
(ConsumerSE<ClientCodecConfigurer> configurer) defaultCookie
(StringSE cookieName, StringSE... cookieValues) 指定されたヘッダーを追加していないすべてのリクエストに追加します。defaultCookies
(ConsumerSE<MultiValueMap<StringSE, StringSE>> cookiesConsumer) 指定されたコンシューマーでデフォルトの Cookie を操作します。defaultHeader
(StringSE headerName, StringSE... headerValues) 指定されたヘッダーを追加していないすべてのリクエストに追加します。defaultHeaders
(ConsumerSE<HttpHeaders> headersConsumer) 指定されたコンシューマーでデフォルトのヘッダーを操作します。entityExchangeResultConsumer
(ConsumerSE<EntityExchangeResult<?>> consumer) レスポンスが単一のエンティティ、エンティティのリスト、byte[] に完全にデコードされた後に毎回呼び出されるEntityExchangeResult
コールバックを構成します。exchangeStrategies
(ConsumerSE<ExchangeStrategies.Builder> configurer) 使用すべきではありません。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
指定されたヘッダーを追加していないすべてのリクエストに追加します。- パラメーター:
cookieName
- クッキー名cookieValues
- クッキーの値
defaultCookies
指定されたコンシューマーでデフォルトの Cookie を操作します。コンシューマーに提供されるマップは「ライブ」であるため、コンシューマーを使用して、既存のヘッダー値を上書きしたり、値を削除しSEたり、その他のMultiValueMap
メソッドを使用したりできます。- パラメーター:
cookiesConsumer
- Cookie マップを使用する関数- 戻り値:
- このビルダー
filter
指定されたフィルターをフィルターチェーンに追加します。- パラメーター:
filter
- チェーンに追加されるフィルター
filters
指定されたコンシューマーでフィルターを操作します。コンシューマーに提供されるリストは「ライブ」であるため、コンシューマーを使用してフィルターを削除したり、順序を変更したりできます。- パラメーター:
filtersConsumer
- フィルターリストを使用する関数- 戻り値:
- このビルダー
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
codecs
- パラメーター:
configurer
- 適用するコンフィギュレーター- 導入:
- 5.1.13
exchangeStrategies
使用するExchangeStrategies
を構成します。ほとんどの場合、
ExchangeStrategies
のコーデックを置き換えるのではなくカスタマイズできるcodecs(Consumer)
を使用することをお勧めします。これにより、複数の関係者がコーデック設定に貢献できるようになります。デフォルトでは、これは
ExchangeStrategies.withDefaults()
に設定されています。- パラメーター:
strategies
- 使用する戦略
exchangeStrategies
@DeprecatedSE WebTestClient.Builder exchangeStrategies(ConsumerSE<ExchangeStrategies.Builder> configurer) 使用すべきではありません。5.1.13 現在、codecs(Consumer)
を推奨exchangeStrategies(ExchangeStrategies)
で構成された戦略をカスタマイズします。このメソッドは、複数の関係者がExchangeStrategies
を更新するシナリオで使用するために設計されています。responseTimeout
レスポンスを待機する最大時間。デフォルトでは 5 秒。
- パラメーター:
timeout
- レスポンスタイムアウト値
clientConnector
使用するClientHttpConnector
を設定します。デフォルトでは、これは内部で初期化および設定されます。ただし、
MockMvcWebTestClient
テストなどでコネクターを外部で用意してWebTestClient.bindToServer(ClientHttpConnector)
経由で渡す場合もあり、その場合はWebTestClient.mutateWith(WebTestClientConfigurer)
からこれを使用して置き換えることができます。- パラメーター:
connector
- 使用するコネクター- 導入:
- 6.1
apply
指定されたコンフィギュレーターをこのビルダーインスタンスに適用します。これは、事前にパッケージ化されたカスタマイズを適用できます。
- パラメーター:
configurer
- 適用するコンフィギュレーター
build
WebTestClient build()WebTestClient
インスタンスをビルドします。
codecs(Consumer)
を推奨