インターフェース WebClient.Builder
- 含まれているインターフェース:
- WebClient
WebClient を作成するための可変ビルダー。メソッドのサマリー
修飾子と型メソッド説明apply(ConsumerSE<WebClient.Builder> builderConsumer) 指定されたConsumerをこのビルダーインスタンスに適用します。リクエストのベース URL を設定します。build()WebClientインスタンスをビルドします。clientConnector(ClientHttpConnector connector) 使用するClientHttpConnectorを構成します。clone()このWebClient.Builderを複製します。codecs(ConsumerSE<ClientCodecConfigurer> configurer) defaultCookie(StringSE cookie, StringSE... values) リクエストにまだそのような Cookie が含まれていない場合、すべてのリクエストに追加する Cookie を指定するグローバルオプション。defaultCookies(ConsumerSE<MultiValueMap<StringSE, StringSE>> cookiesConsumer) これまでに宣言されたすべてのdefaultCookie(String, String...)へのアクセスを提供し、追加、置換、削除する機能があります。defaultHeader(StringSE header, StringSE... values) リクエストにまだヘッダーが含まれていない場合、すべてのリクエストに追加するヘッダーを指定するグローバルオプション。defaultHeaders(ConsumerSE<HttpHeaders> headersConsumer) これまでに宣言されたすべてのdefaultHeader(String, String...)へのアクセスを提供し、追加、置換、削除する機能があります。defaultRequest(ConsumerSE<WebClient.RequestHeadersSpec<?>> defaultRequest) 構築されるすべてのリクエストをカスタマイズするためのコンシューマーを提供します。defaultStatusHandler(PredicateSE<HttpStatusCode> statusPredicate, FunctionSE<ClientResponse, reactor.core.publisher.Mono<? extends ThrowableSE>> exceptionFunction) すべてのレスポンスに適用するデフォルトのstatus handlerを登録します。defaultUriVariables(MapSE<StringSE, ?> defaultUriVariables) MapSE で URI テンプレートを展開するときに使用するデフォルトの URL 変数値を設定します。exchangeFunction(ExchangeFunction exchangeFunction) exchangeStrategies(ConsumerSE<ExchangeStrategies.Builder> configurer) 使用すべきではありません。exchangeStrategies(ExchangeStrategies strategies) 使用するExchangeStrategiesを構成します。filter(ExchangeFilterFunction filter) 指定されたフィルターをフィルターチェーンの最後に追加します。filters(ConsumerSE<ListSE<ExchangeFilterFunction>> filtersConsumer) 指定されたコンシューマーでフィルターを操作します。observationConvention(ClientRequestObservationConvention observationConvention) リクエスト監視のメタデータを収集するために使用するObservationConventionを提供します。observationRegistry(io.micrometer.observation.ObservationRegistry observationRegistry) HTTP クライアント呼び出しの監視を記録するために使用するObservationRegistryを提供します。uriBuilderFactory(UriBuilderFactory uriBuilderFactory) 事前構成済みのUriBuilderFactoryインスタンスを提供します。
メソッドの詳細
baseUrl
リクエストのベース URL を設定します。効果的には次のショートカットです。String baseUrl = "https://abc.go.com/v1"; DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory(baseUrl); WebClient client = WebClient.builder().uriBuilderFactory(factory).build();
DefaultUriBuilderFactoryは、指定された URL の URL リクエストが絶対である場合を除き、指定されたベース URL を持つすべてのリクエストの URL を準備するために使用されます。その場合、ベース URL は無視されます。注意 : このメソッドは
uriBuilderFactory(UriBuilderFactory)と相互に排他的です。両方が使用される場合、ここで指定された baseUrl 値は無視されます。defaultUriVariables
MapSE で URI テンプレートを展開するときに使用するデフォルトの URL 変数値を設定します。効果的には次のショートカットです。Map<String, ?> defaultVars = ...; DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory(); factory.setDefaultVariables(defaultVars); WebClient client = WebClient.builder().uriBuilderFactory(factory).build();
注意 : このメソッドは
uriBuilderFactory(UriBuilderFactory)と相互に排他的です。両方が使用される場合、ここで指定された defaultUriVariables 値は無視されます。uriBuilderFactory
事前構成済みのUriBuilderFactoryインスタンスを提供します。これは、次のショートカットプロパティの代替であり、効果的にオーバーライドされます。- パラメーター:
uriBuilderFactory- 使用する URI ビルダーファクトリ- 関連事項:
defaultHeader
リクエストにまだヘッダーが含まれていない場合、すべてのリクエストに追加するヘッダーを指定するグローバルオプション。- パラメーター:
header- ヘッダー名values- ヘッダー値
defaultHeaders
これまでに宣言されたすべてのdefaultHeader(String, String...)へのアクセスを提供し、追加、置換、削除する機能があります。- パラメーター:
headersConsumer- コンシューマー
defaultCookie
リクエストにまだそのような Cookie が含まれていない場合、すべてのリクエストに追加する Cookie を指定するグローバルオプション。- パラメーター:
cookie- クッキー名values- クッキーの値
defaultCookies
これまでに宣言されたすべてのdefaultCookie(String, String...)へのアクセスを提供し、追加、置換、削除する機能があります。- パラメーター:
cookiesConsumer- Cookie マップを使用する関数
defaultRequest
構築されるすべてのリクエストをカスタマイズするためのコンシューマーを提供します。- パラメーター:
defaultRequest- リクエストを変更するために使用するコンシューマー- 導入:
- 5.1
defaultStatusHandler
WebClient.Builder defaultStatusHandler(PredicateSE<HttpStatusCode> statusPredicate, FunctionSE<ClientResponse, reactor.core.publisher.Mono<? extends ThrowableSE>> exceptionFunction) すべてのレスポンスに適用するデフォルトのstatus handlerを登録します。このようなデフォルトハンドラーは、登録された順序で適用され、特定のレスポンスに対して登録された他のハンドラーの後に適用されます。デフォルトのステータスハンドラーは、
exchangeTo*()メソッドには適用されません。これらのバリアントはクライアントレスポンスに直接アクセスできるからです。- パラメーター:
statusPredicate- レスポンスを一致させるexceptionFunction- レスポンスをエラーシグナルにマッピングする- 戻り値:
- このビルダー
- 導入:
- 6.0
filter
指定されたフィルターをフィルターチェーンの最後に追加します。- パラメーター:
filter- チェーンに追加されるフィルター
filters
指定されたコンシューマーでフィルターを操作します。コンシューマーに提供されるリストは「ライブ」であるため、コンシューマーを使用してフィルターを削除したり、順序を変更したりできます。- パラメーター:
filtersConsumer- フィルターリストを使用する関数- 戻り値:
- このビルダー
clientConnector
使用するClientHttpConnectorを構成します。これは、基盤となる HTTP クライアントライブラリ (SSL など) のオプションをプラグインしたりカスタマイズしたりする場合に役立ちます。デフォルトでは、これは
ReactorClientHttpConnectorに設定されています。- パラメーター:
connector- 使用するコネクター
codecs
- パラメーター:
configurer- 適用するコンフィギュレーター- 導入:
- 5.1.13
exchangeStrategies
使用するExchangeStrategiesを構成します。ほとんどの場合、
ExchangeStrategiesのコーデックを置き換えるのではなくカスタマイズできるcodecs(Consumer)を使用することをお勧めします。これにより、複数の関係者がコーデック設定に貢献できるようになります。デフォルトでは、これは
ExchangeStrategies.withDefaults()に設定されています。- パラメーター:
strategies- 使用する戦略
exchangeStrategies
@DeprecatedSE WebClient.Builder exchangeStrategies(ConsumerSE<ExchangeStrategies.Builder> configurer) 使用すべきではありません。5.1.13 現在、codecs(Consumer)を推奨exchangeStrategies(ExchangeStrategies)で構成された戦略をカスタマイズします。このメソッドは、複数の関係者がExchangeStrategiesを更新するシナリオで使用するために設計されています。exchangeFunction
ClientHttpConnectorおよびExchangeStrategiesで事前構成されたExchangeFunctionを提供します。これは、
clientConnector(org.springframework.http.client.reactive.ClientHttpConnector)およびexchangeStrategies(ExchangeStrategies)の代替であり、事実上オーバーライドします。- パラメーター:
exchangeFunction- 使用する交換関数
observationRegistry
WebClient.Builder observationRegistry(io.micrometer.observation.ObservationRegistry observationRegistry) HTTP クライアント呼び出しの監視を記録するために使用するObservationRegistryを提供します。- パラメーター:
observationRegistry- 使用する観測レジストリ- 導入:
- 6.0
observationConvention
リクエスト監視のメタデータを収集するために使用するObservationConventionを提供します。何も指定されていない場合はDefaultClientRequestObservationConventionを使用します。- パラメーター:
observationConvention- 使用する観測規則- 導入:
- 6.0
apply
指定されたConsumerをこのビルダーインスタンスに適用します。これは、事前にパッケージ化されたカスタマイズを適用できます。
- パラメーター:
builderConsumer- 適用するコンシューマー
clone
WebClient.Builder clone()このWebClient.Builderを複製します。build
WebClient build()WebClientインスタンスをビルドします。
codecs(Consumer)を推奨