S
- 仕様タイプへの自己参照 public static interface WebClient.RequestHeadersSpec<S extends WebClient.RequestHeadersSpec<S>>
修飾子と型 | メソッドと説明 |
---|---|
S | accept(MediaType... acceptableMediaTypes) Accept ヘッダーで指定されているように、受け入れ可能なメディアタイプのリストを設定します。 |
S | acceptCharset(CharsetSE... acceptableCharsets) Accept-Charset ヘッダーの指定に従って、受け入れ可能な文字SEセットのリストを設定します。 |
S | attribute(StringSE name, ObjectSE value) 指定された名前の属性に指定された値を設定します。 |
S | attributes(ConsumerSE<MapSE<StringSE,ObjectSE>> attributesConsumer) これまでに宣言されたすべての属性へのアクセスを提供し、値を追加、置換、または削除する機能があります。 |
S | cookie(StringSE name, StringSE value) 指定された名前と値で Cookie を追加します。 |
S | cookies(ConsumerSE<MultiValueMap<StringSE,StringSE>> cookiesConsumer) これまでに宣言されたすべての Cookie へのアクセスを提供し、値を追加、置換、または削除する機能があります。 |
reactor.core.publisher.Mono<ClientResponse> | exchange() HTTP リクエストを実行し、レスポンスステータスとヘッダーを含む ClientResponse を返します。 |
S | header(StringSE headerName, StringSE... headerValues) 指定された名前に、指定された単一のヘッダー値を追加します。 |
S | headers(ConsumerSE<HttpHeaders> headersConsumer) これまでに宣言されたすべてのヘッダーへのアクセスを提供し、値を追加、置換、または削除できます。 |
S | ifModifiedSince(ZonedDateTimeSE ifModifiedSince) If-Modified-Since ヘッダーの値を設定します。 |
S | ifNoneMatch(StringSE... ifNoneMatches) If-None-Match ヘッダーの値を設定します。 |
WebClient.ResponseSpec | retrieve() HTTP リクエストを実行し、レスポンス本文を取得します。 |
S accept(MediaType... acceptableMediaTypes)
Accept
ヘッダーで指定されているように、受け入れ可能なメディアタイプのリストを設定します。acceptableMediaTypes
- 許容されるメディアタイプ S acceptCharset(CharsetSE... acceptableCharsets)
Accept-Charset
ヘッダーの指定に従って、受け入れ可能な文字SEセットのリストを設定します。acceptableCharsets
- 許容される文字セット S cookie(StringSE name, StringSE value)
name
- クッキー名 value
- クッキー値 S cookies(ConsumerSE<MultiValueMap<StringSE,StringSE>> cookiesConsumer)
cookiesConsumer
- アクセスを提供する消費者 S ifModifiedSince(ZonedDateTimeSE ifModifiedSince)
If-Modified-Since
ヘッダーの値を設定します。日付は、1970 年 1 月 1 日 GMT からのミリ秒数として指定する必要があります。
ifModifiedSince
- ヘッダーの新しい値 S ifNoneMatch(StringSE... ifNoneMatches)
If-None-Match
ヘッダーの値を設定します。ifNoneMatches
- ヘッダーの新しい値 S header(StringSE headerName, StringSE... headerValues)
headerName
- ヘッダー名 headerValues
- ヘッダー値 S headers(ConsumerSE<HttpHeaders> headersConsumer)
headersConsumer
- アクセスを提供する消費者 S attribute(StringSE name, ObjectSE value)
name
- 追加する属性の名前 value
- 追加する属性の値 S attributes(ConsumerSE<MapSE<StringSE,ObjectSE>> attributesConsumer)
attributesConsumer
- アクセスを提供する消費者 WebClient.ResponseSpec retrieve()
Mono<Person> bodyMono = client.get() .uri("/persons/1") .accept(MediaType.APPLICATION_JSON) .retrieve() .bodyToMono(Person.class);
このメソッドは、exchange()
を使用し、ClientResponse
を介してレスポンス本文をデコードするショートカットです。
ResponseSpec
は、本文のデコード方法を指定する exchange()
reactor.core.publisher.Mono<ClientResponse> exchange()
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
retrieve()