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

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

public static interface WebClient.RequestHeadersSpec<S extends WebClient.RequestHeadersSpec<S>>
交換に至るまでのリクエストヘッダーを指定するための契約。
導入:
5.0
作成者:
Rossen Stoyanchev, Arjen Poutsma, Sebastien Deleuze, Brian Clozel
  • メソッドの詳細

    • 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 - アクセスを提供するコンシューマー
      戻り値:
      このビルダー
    • apiVersion

      S apiVersion(ObjectSE version)
      リクエストの API バージョンを設定します。バージョンは configured ApiVersionInserter によってリクエストに挿入されます。
      パラメーター:
      version - リクエストの API バージョン。これは、文字列、または ApiVersionFormatter などを使用して挿入子でフォーマットできるオブジェクトになります。
      導入:
      7.0
    • attribute

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

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