インターフェース WebClient.RequestHeadersSpec<S extends WebClient.RequestHeadersSpec<S>>
- 型パラメーター:
S- 仕様型への自己参照
- すべての既知のサブインターフェース:
WebClient.RequestBodySpec、WebClient.RequestBodyUriSpec、WebClient.RequestHeadersUriSpec<S>
- 含まれているインターフェース:
WebClient
public static interface WebClient.RequestHeadersSpec<S extends WebClient.RequestHeadersSpec<S>>
交換に至るまでのリクエストヘッダーを指定するための契約。
- 導入:
- 5.0
- 作成者:
- Rossen Stoyanchev, Arjen Poutsma, Sebastien Deleuze, Brian Clozel
メソッドのサマリー
修飾子と型メソッド説明Acceptヘッダーで指定されているように、受け入れ可能なメディア型のリストを設定します。acceptCharset(CharsetSE... acceptableCharsets) Accept-Charsetヘッダーで指定されているように、受け入れ可能な文字SEセットのリストを設定します。apiVersion(ObjectSE version) リクエストの API バージョンを設定します。指定された名前の属性に指定された値を設定します。attributes(ConsumerSE<MapSE<StringSE, ObjectSE>> attributesConsumer) これまでに宣言されたすべての属性へのアクセスを提供し、値を追加、置換、削除する機能があります。指定された名前と値で Cookie を追加します。cookies(ConsumerSE<MultiValueMap<StringSE, StringSE>> cookiesConsumer) これまでに宣言されたすべての Cookie へのアクセスを提供し、値を追加、置換、削除する機能があります。<V> reactor.core.publisher.Flux<V> exchangeToFlux(FunctionSE<ClientResponse, ? extends reactor.core.publisher.Flux<V>> responseHandler) ClientResponseへのアクセスを介してより多くの制御を提供するretrieve()の代替。<V> reactor.core.publisher.Mono<V> exchangeToMono(FunctionSE<ClientResponse, ? extends reactor.core.publisher.Mono<V>> responseHandler) ClientResponseへのアクセスを介してより多くの制御を提供するretrieve()の代替。指定された名前に、指定された単一のヘッダー値を追加します。headers(ConsumerSE<HttpHeaders> headersConsumer) これまでに宣言されたすべてのヘッダーへのアクセスを提供し、値を追加、置換、削除できます。httpRequest(ConsumerSE<ClientHttpRequest> requestConsumer) ClientHttpRequestへのアクセスのコールバック。これにより、基盤となる HTTP ライブラリのネイティブリクエストへのアクセスが提供されます。ifModifiedSince(ZonedDateTimeSE ifModifiedSince) If-Modified-Sinceヘッダーの値を設定します。ifNoneMatch(StringSE... ifNoneMatches) If-None-Matchヘッダーの値を設定します。retrieve()レスポンスを抽出する方法の宣言に進みます。
メソッドの詳細
accept
acceptCharset
Accept-Charsetヘッダーで指定されているように、受け入れ可能な文字SEセットのリストを設定します。- パラメーター:
acceptableCharsets- 許容される文字セット- 戻り値:
- このビルダー
cookie
cookies
これまでに宣言されたすべての Cookie へのアクセスを提供し、値を追加、置換、削除する機能があります。- パラメーター:
cookiesConsumer- アクセスを提供するコンシューマー- 戻り値:
- このビルダー
ifModifiedSince
If-Modified-Sinceヘッダーの値を設定します。日付は、1970 年 1 月 1 日 GMT からのミリ秒数として指定する必要があります。
- パラメーター:
ifModifiedSince- ヘッダーの新しい値- 戻り値:
- このビルダー
ifNoneMatch
header
headers
これまでに宣言されたすべてのヘッダーへのアクセスを提供し、値を追加、置換、削除できます。- パラメーター:
headersConsumer- アクセスを提供するコンシューマー- 戻り値:
- このビルダー
apiVersion
リクエストの API バージョンを設定します。バージョンはconfiguredApiVersionInserterによってリクエストに挿入されます。- パラメーター:
version- リクエストの API バージョン。これは、文字列、またはApiVersionFormatterなどを使用して挿入子でフォーマットできるオブジェクトになります。- 導入:
- 7.0
attribute
attributes
これまでに宣言されたすべての属性へのアクセスを提供し、値を追加、置換、削除する機能があります。- パラメーター:
attributesConsumer- アクセスを提供するコンシューマー- 戻り値:
- このビルダー
httpRequest
ClientHttpRequestへのアクセスのコールバック。これにより、基盤となる HTTP ライブラリのネイティブリクエストへのアクセスが提供されます。これは、基盤となるライブラリによって公開される高度なリクエストごとのオプションを設定する場合に役立ちます。- パラメーター:
requestConsumer-ClientHttpRequestにアクセスするコンシューマー- 戻り値:
ResponseSpecは、本文のデコード方法を指定します- 導入:
- 5.3
retrieve
WebClient.ResponseSpec retrieve()レスポンスを抽出する方法の宣言に進みます。たとえば、ステータス、ヘッダー、本文を含むResponseEntityを抽出するには、次のようにします。Mono<ResponseEntity<Person>> entityMono = client.get() .uri("/persons/1") .accept(MediaType.APPLICATION_JSON) .retrieve() .toEntity(Person.class);または体だけに興味がある場合:
Mono<Person> entityMono = client.get() .uri("/persons/1") .accept(MediaType.APPLICATION_JSON) .retrieve() .bodyToMono(Person.class);デフォルトでは、4xx および 5xx レスポンスは
WebClientResponseExceptionになります。エラー処理をカスタマイズするには、onStatusハンドラーを使用します。exchangeToMono
<V> reactor.core.publisher.Mono<V> exchangeToMono(FunctionSE<ClientResponse, ? extends reactor.core.publisher.Mono<V>> responseHandler) ClientResponseへのアクセスを介してより多くの制御を提供するretrieve()の代替。これは、たとえば、レスポンスステータスに応じて異なる方法でレスポンスをデコードするなど、高度なシナリオで役立ちます。Mono<Person> entityMono = client.get() .uri("/persons/1") .accept(MediaType.APPLICATION_JSON) .exchangeToMono(response -> { if (response.statusCode().equals(HttpStatus.OK)) { return response.bodyToMono(Person.class); } else { return response.createError(); } });注意 : 返された
Monoが完了した後、レスポンス本体が消費されていない場合は、レスポンス本体が自動的に解放されます。レスポンスコンテンツが必要な場合、提供された関数はそれをデコードする方法を宣言する必要があります。- 型パラメーター:
V- レスポンスが変換されるオブジェクトの型- パラメーター:
responseHandler- レスポンスを処理する関数- 戻り値:
- レスポンスから生成された
Mono - 導入:
- 5.3
exchangeToFlux
<V> reactor.core.publisher.Flux<V> exchangeToFlux(FunctionSE<ClientResponse, ? extends reactor.core.publisher.Flux<V>> responseHandler) ClientResponseへのアクセスを介してより多くの制御を提供するretrieve()の代替。これは、たとえば、レスポンスステータスに応じて異なる方法でレスポンスをデコードするなど、高度なシナリオで役立ちます。Flux<Person> entityMono = client.get() .uri("/persons") .accept(MediaType.APPLICATION_JSON) .exchangeToFlux(response -> { if (response.statusCode().equals(HttpStatus.OK)) { return response.bodyToFlux(Person.class); } else { return response.createError().flux(); } });注意 : 返された
Fluxが完了した後、レスポンス本体が消費されていない場合は、レスポンス本体が自動的に解放されます。レスポンスコンテンツが必要な場合、提供された関数はそれをデコードする方法を宣言する必要があります。- 型パラメーター:
V- レスポンスが変換されるオブジェクトの型- パラメーター:
responseHandler- レスポンスを処理する関数- 戻り値:
- レスポンスから生成されたオブジェクトの
Flux - 導入:
- 5.3