Interface WebClient.RequestBodySpec
- All Superinterfaces:
WebClient.RequestHeadersSpec<WebClient.RequestBodySpec>
- All Known Subinterfaces:
WebClient.RequestBodyUriSpec
- Enclosing interface:
- WebClient
public static interface WebClient.RequestBodySpec
extends WebClient.RequestHeadersSpec<WebClient.RequestBodySpec>
Contract for specifying request headers and body leading up to the exchange.
-
Method Summary
Modifier and TypeMethodDescriptionVariant ofbody(Publisher, Class)
that allows using any producer that can be resolved toPublisher
viaReactiveAdapterRegistry
.Variant ofbody(Publisher, ParameterizedTypeReference)
that allows using any producer that can be resolved toPublisher
viaReactiveAdapterRegistry
.body
(BodyInserter<?, ? super org.springframework.http.client.reactive.ClientHttpRequest> inserter) Set the body of the request using the given body inserter.<T,
P extends Publisher<T>>
WebClient.RequestHeadersSpec<?>Shortcut forbody(BodyInserter)
with a Publisher inserter.<T,
P extends Publisher<T>>
WebClient.RequestHeadersSpec<?>body
(P publisher, org.springframework.core.ParameterizedTypeReference<T> elementTypeRef) Variant ofbody(Publisher, Class)
that allows providing element type information with generics.Shortcut forbody(BodyInserter)
with a value inserter.contentLength
(long contentLength) Set the length of the body in bytes, as specified by theContent-Length
header.contentType
(org.springframework.http.MediaType contentType) Set the media type of the body, as specified by theContent-Type
header.Deprecated.Methods inherited from interface org.springframework.web.reactive.function.client.WebClient.RequestHeadersSpec
accept, acceptCharset, attribute, attributes, context, cookie, cookies, exchange, exchangeToFlux, exchangeToMono, header, headers, httpRequest, ifModifiedSince, ifNoneMatch, retrieve
-
Method Details
-
contentLength
Set the length of the body in bytes, as specified by theContent-Length
header.- Parameters:
contentLength
- the content length- Returns:
- this builder
- See Also:
-
HttpHeaders.setContentLength(long)
-
contentType
Set the media type of the body, as specified by theContent-Type
header.- Parameters:
contentType
- the content type- Returns:
- this builder
- See Also:
-
HttpHeaders.setContentType(MediaType)
-
bodyValue
Shortcut forbody(BodyInserter)
with a value inserter. For example:Person person = ... ; Mono<Void> result = client.post() .uri("/persons/{id}", id) .contentType(MediaType.APPLICATION_JSON) .bodyValue(person) .retrieve() .bodyToMono(Void.class);
For multipart requests consider providing
MultiValueMap
prepared withMultipartBodyBuilder
.- Parameters:
body
- the value to write to the request body- Returns:
- this builder
- Throws:
IllegalArgumentException
- ifbody
is aPublisher
or producer known toReactiveAdapterRegistry
- Since:
- 5.2
-
body
<T,P extends Publisher<T>> WebClient.RequestHeadersSpec<?> body(P publisher, Class<T> elementClass) Shortcut forbody(BodyInserter)
with a Publisher inserter. For example:Mono<Person> personMono = ... ; Mono<Void> result = client.post() .uri("/persons/{id}", id) .contentType(MediaType.APPLICATION_JSON) .body(personMono, Person.class) .retrieve() .bodyToMono(Void.class);
- Type Parameters:
T
- the type of the elements contained in the publisherP
- the type of thePublisher
- Parameters:
publisher
- thePublisher
to write to the requestelementClass
- the type of elements published- Returns:
- this builder
-
body
<T,P extends Publisher<T>> WebClient.RequestHeadersSpec<?> body(P publisher, org.springframework.core.ParameterizedTypeReference<T> elementTypeRef) Variant ofbody(Publisher, Class)
that allows providing element type information with generics.- Type Parameters:
T
- the type of the elements contained in the publisherP
- the type of thePublisher
- Parameters:
publisher
- thePublisher
to write to the requestelementTypeRef
- the type of elements published- Returns:
- this builder
-
body
Variant ofbody(Publisher, Class)
that allows using any producer that can be resolved toPublisher
viaReactiveAdapterRegistry
.- Parameters:
producer
- the producer to write to the requestelementClass
- the type of elements produced- Returns:
- this builder
- Since:
- 5.2
-
body
WebClient.RequestHeadersSpec<?> body(Object producer, org.springframework.core.ParameterizedTypeReference<?> elementTypeRef) Variant ofbody(Publisher, ParameterizedTypeReference)
that allows using any producer that can be resolved toPublisher
viaReactiveAdapterRegistry
.- Parameters:
producer
- the producer to write to the requestelementTypeRef
- the type of elements produced- Returns:
- this builder
- Since:
- 5.2
-
body
WebClient.RequestHeadersSpec<?> body(BodyInserter<?, ? super org.springframework.http.client.reactive.ClientHttpRequest> inserter) Set the body of the request using the given body inserter. SeeBodyInserters
for built-inBodyInserter
implementations.- Parameters:
inserter
- the body inserter to use for the request body- Returns:
- this builder
- See Also:
-
syncBody
Deprecated.as of Spring Framework 5.2 in favor ofbodyValue(Object)
Shortcut forbody(BodyInserter)
with a value inserter. As of 5.2 this method delegates tobodyValue(Object)
.
-
bodyValue(Object)