S
- a self reference to the spec typepublic static interface WebClient.RequestHeadersSpec<S extends WebClient.RequestHeadersSpec<S>>
Modifier and Type | Method and Description |
---|---|
S |
accept(MediaType... acceptableMediaTypes)
Set the list of acceptable media types, as
specified by the
Accept header. |
S |
acceptCharset(Charset... acceptableCharsets)
Set the list of acceptable charsets, as specified
by the
Accept-Charset header. |
S |
attribute(String name,
Object value)
Set the attribute with the given name to the given value.
|
S |
attributes(Consumer<Map<String,Object>> attributesConsumer)
Provides access to every attribute declared so far with the
possibility to add, replace, or remove values.
|
S |
cookie(String name,
String value)
Add a cookie with the given name and value.
|
S |
cookies(Consumer<MultiValueMap<String,String>> cookiesConsumer)
Provides access to every cookie declared so far with the possibility
to add, replace, or remove values.
|
reactor.core.publisher.Mono<ClientResponse> |
exchange()
Perform the HTTP request and return a
ClientResponse with the
response status and headers. |
S |
header(String headerName,
String... headerValues)
Add the given, single header value under the given name.
|
S |
headers(Consumer<HttpHeaders> headersConsumer)
Provides access to every header declared so far with the possibility
to add, replace, or remove values.
|
S |
ifModifiedSince(ZonedDateTime ifModifiedSince)
Set the value of the
If-Modified-Since header. |
S |
ifNoneMatch(String... ifNoneMatches)
Set the values of the
If-None-Match header. |
WebClient.ResponseSpec |
retrieve()
Perform the HTTP request and retrieve the response body:
|
S accept(MediaType... acceptableMediaTypes)
Accept
header.acceptableMediaTypes
- the acceptable media typesS acceptCharset(Charset... acceptableCharsets)
Accept-Charset
header.acceptableCharsets
- the acceptable charsetsS cookie(String name, String value)
name
- the cookie namevalue
- the cookie valueS cookies(Consumer<MultiValueMap<String,String>> cookiesConsumer)
cookiesConsumer
- the consumer to provide access toS ifModifiedSince(ZonedDateTime ifModifiedSince)
If-Modified-Since
header.
The date should be specified as the number of milliseconds since January 1, 1970 GMT.
ifModifiedSince
- the new value of the headerS ifNoneMatch(String... ifNoneMatches)
If-None-Match
header.ifNoneMatches
- the new value of the headerS header(String headerName, String... headerValues)
headerName
- the header nameheaderValues
- the header value(s)S headers(Consumer<HttpHeaders> headersConsumer)
headersConsumer
- the consumer to provide access toS attribute(String name, Object value)
name
- the name of the attribute to addvalue
- the value of the attribute to addS attributes(Consumer<Map<String,Object>> attributesConsumer)
attributesConsumer
- the consumer to provide access toWebClient.ResponseSpec retrieve()
Mono<Person> bodyMono = client.get() .uri("/persons/1") .accept(MediaType.APPLICATION_JSON) .retrieve() .bodyToMono(Person.class);
This method is a shortcut to using exchange()
and
decoding the response body through ClientResponse
.
ResponseSpec
to specify how to decode the bodyexchange()
reactor.core.publisher.Mono<ClientResponse> exchange()
ClientResponse
with the
response status and headers. You can then use methods of the response
to consume the body:
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));
NOTE: Unlike retrieve()
, when using
exchange()
, it is the responsibility of the application to
consume any response content regardless of the scenario (success,
error, unexpected data, etc). Not doing so can cause a memory leak.
See ClientResponse
for a list of all the available options
for consuming the body. Generally prefer using retrieve()
unless you have a good reason to use exchange()
which does
allow to check the response status and headers before deciding how or
if to consume the response.
Mono
for the responseretrieve()