インターフェース WebClient.RequestHeadersSpec<S extends WebClient.RequestHeadersSpec<S>>

型パラメーター:
S - 仕様型への自己参照
すべての既知のサブインターフェース:
WebClient.RequestBodySpecWebClient.RequestBodyUriSpecWebClient.RequestHeadersUriSpec<S>
含まれているインターフェース:
WebClient

public static interface WebClient.RequestHeadersSpec<S extends WebClient.RequestHeadersSpec<S>>
交換に至るまでのリクエストヘッダーを指定するための契約。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    accept(MediaType... acceptableMediaTypes)
    Accept ヘッダーで指定されているように、受け入れ可能なメディア型のリストを設定します。
    acceptCharset(CharsetSE... acceptableCharsets)
    Accept-Charset ヘッダーで指定されているように、受け入れ可能な文字SEセットのリストを設定します。
    指定された名前の属性に指定された値を設定します。
    これまでに宣言されたすべての属性へのアクセスを提供し、値を追加、置換、削除する機能があります。
    context(FunctionSE<reactor.util.context.Context,reactor.util.context.Context> contextModifier)
    使用すべきではありません。
    5.3.2 で削除されます。このメソッドはダウンストリーム (入れ子や後続) のリクエストにコンテキストを提供できないため、その価値は限定的です。
    cookie(StringSE name, StringSE value)
    指定された名前と値で Cookie を追加します。
    これまでに宣言されたすべての Cookie へのアクセスを提供し、値を追加、置換、削除する機能があります。
    reactor.core.publisher.Mono<ClientResponse>
    使用すべきではありません。
    メモリや接続がリークする可能性があるため、5.3 以降。exchangeToMono(Function)exchangeToFlux(Function) を使用してください ; エラーステータスの処理とともに、ResponseEntity を介してレスポンスステータスとヘッダーへのアクセスを提供する retrieve() の使用も検討してください。
    <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() の代替。
    header(StringSE headerName, StringSE... headerValues)
    指定された名前に、指定された単一のヘッダー値を追加します。
    headers(ConsumerSE<HttpHeaders> headersConsumer)
    これまでに宣言されたすべてのヘッダーへのアクセスを提供し、値を追加、置換、削除できます。
    ClientHttpRequest へのアクセスのコールバック。これにより、基盤となる HTTP ライブラリのネイティブリクエストへのアクセスが提供されます。
    If-Modified-Since ヘッダーの値を設定します。
    ifNoneMatch(StringSE... ifNoneMatches)
    If-None-Match ヘッダーの値を設定します。
    レスポンスを抽出する方法の宣言に進みます。
  • メソッドの詳細

    • accept

      S accept(MediaType... acceptableMediaTypes)
      Accept ヘッダーで指定されているように、受け入れ可能なメディア型のリストを設定します。
      パラメーター:
      acceptableMediaTypes - 許容されるメディア型
      戻り値:
      このビルダー
    • acceptCharset

      S acceptCharset(CharsetSE... acceptableCharsets)
      Accept-Charset ヘッダーで指定されているように、受け入れ可能な文字SEセットのリストを設定します。
      パラメーター:
      acceptableCharsets - 許容される文字セット
      戻り値:
      このビルダー
    • cookie

      S cookie(StringSE name, StringSE value)
      指定された名前と値で Cookie を追加します。
      パラメーター:
      name - クッキー名
      value - クッキー値
      戻り値:
      このビルダー
    • cookies

      S cookies(ConsumerSE<MultiValueMap<StringSE,StringSE>> cookiesConsumer)
      これまでに宣言されたすべての Cookie へのアクセスを提供し、値を追加、置換、削除する機能があります。
      パラメーター:
      cookiesConsumer - アクセスを提供するコンシューマー
      戻り値:
      このビルダー
    • ifModifiedSince

      S ifModifiedSince(ZonedDateTimeSE ifModifiedSince)
      If-Modified-Since ヘッダーの値を設定します。

      日付は、1970 年 1 月 1 日 GMT からのミリ秒数として指定する必要があります。

      パラメーター:
      ifModifiedSince - ヘッダーの新しい値
      戻り値:
      このビルダー
    • ifNoneMatch

      S ifNoneMatch(StringSE... ifNoneMatches)
      If-None-Match ヘッダーの値を設定します。
      パラメーター:
      ifNoneMatches - ヘッダーの新しい値
      戻り値:
      このビルダー
    • header

      S header(StringSE headerName, StringSE... headerValues)
      指定された名前に、指定された単一のヘッダー値を追加します。
      パラメーター:
      headerName - ヘッダー名
      headerValues - ヘッダー値
      戻り値:
      このビルダー
    • headers

      S headers(ConsumerSE<HttpHeaders> headersConsumer)
      これまでに宣言されたすべてのヘッダーへのアクセスを提供し、値を追加、置換、削除できます。
      パラメーター:
      headersConsumer - アクセスを提供するコンシューマー
      戻り値:
      このビルダー
    • attribute

      S attribute(StringSE name, ObjectSE value)
      指定された名前の属性に指定された値を設定します。
      パラメーター:
      name - 追加する属性の名前
      value - 追加する属性の値
      戻り値:
      このビルダー
    • attributes

      S attributes(ConsumerSE<MapSE<StringSE,ObjectSE>> attributesConsumer)
      これまでに宣言されたすべての属性へのアクセスを提供し、値を追加、置換、削除する機能があります。
      パラメーター:
      attributesConsumer - アクセスを提供するコンシューマー
      戻り値:
      このビルダー
    • context

      @DeprecatedSE S context(FunctionSE<reactor.util.context.Context,reactor.util.context.Context> contextModifier)
      使用すべきではありません。
      5.3.2 で削除されます。このメソッドはダウンストリーム (入れ子や後続) のリクエストにコンテキストを提供できないため、その価値は限定的です。
      Reactor Context を設定する機能を提供します。
      パラメーター:
      contextModifier - コンテキストを変更する関数
      導入:
      5.3.1
    • httpRequest

      S httpRequest(ConsumerSE<ClientHttpRequest> requestConsumer)
      ClientHttpRequest へのアクセスのコールバック。これにより、基盤となる HTTP ライブラリのネイティブリクエストへのアクセスが提供されます。これは、基盤となるライブラリによって公開される高度なリクエストごとのオプションを設定する場合に役立ちます。
      パラメーター:
      requestConsumer - ClientHttpRequest にアクセスするコンシューマー
      戻り値:
      ResponseSpec は、本文のデコード方法を指定します
      導入:
      5.3
    • 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
    • exchange

      @DeprecatedSE reactor.core.publisher.Mono<ClientResponse> exchange()
      使用すべきではありません。
      メモリや接続がリークする可能性があるため、5.3 以降。exchangeToMono(Function)exchangeToFlux(Function) を使用してください ; エラーステータスの処理とともに、ResponseEntity を介してレスポンスステータスとヘッダーへのアクセスを提供する retrieve() の使用も検討してください。
      HTTP リクエストを実行し、レスポンスステータスとヘッダーを含む ClientResponse を返します。その後、レスポンスのメソッドを使用してボディを消費できます。

       Mono<Person> mono = client.get()
           .uri("/persons/1")
           .accept(MediaType.APPLICATION_JSON)
           .exchange()
           .flatMap(response -> response.bodyToMono(Person.class));
      
       Flux<Person> flux = client.get()
           .uri("/persons")
           .accept(MediaType.APPLICATION_STREAM_JSON)
           .exchange()
           .flatMapMany(response -> response.bodyToFlux(Person.class));
       

      注意 : retrieve() とは異なり、exchange() を使用する場合、シナリオ(成功、エラー、予期しないデータなど)に関係なく、レスポンスコンテンツを消費するのはアプリケーションの責任です。そうしないと、メモリリークが発生する可能性があります。ボディを消費するために使用可能なすべてのオプションのリストについては、ClientResponse を参照してください。exchange() を使用する正当な理由がない限り、一般に retrieve() を使用することをお勧めします。exchange() を使用すると、レスポンスをどのように、またはいつ消費するかを決定する前にレスポンスステータスとヘッダーを確認できます

      戻り値:
      レスポンス用の Mono 
      関連事項: