public abstract class BodyInserters extends Object
BodyInserter implementations.| Modifier and Type | Class and Description | 
|---|---|
| static interface  | BodyInserters.FormInserter<T>Extension of  BodyInserterthat allows for adding form data or
 multipart form data. | 
| static interface  | BodyInserters.MultipartInserterExtension of  BodyInserters.FormInserterthat allows for adding asynchronous parts. | 
| Constructor and Description | 
|---|
| BodyInserters() | 
| Modifier and Type | Method and Description | 
|---|---|
| static <T> BodyInserter<T,ReactiveHttpOutputMessage> | empty()Inserter that does not write. | 
| static <T extends Publisher<DataBuffer>> | fromDataBuffers(T publisher)Inserter to write the given  Publisher<DataBuffer>to the body. | 
| static BodyInserters.FormInserter<String> | fromFormData(MultiValueMap<String,String> formData)Return a  BodyInserters.FormInserterto write the givenMultiValueMapas URL-encoded form data. | 
| static BodyInserters.FormInserter<String> | fromFormData(String name,
            String value)Return a  BodyInserters.FormInserterto write the given key-value pair as
 URL-encoded form data. | 
| static <T,P extends Publisher<T>> | fromMultipartAsyncData(String name,
                      P publisher,
                      Class<T> elementClass)Return a  BodyInserters.MultipartInserterto write the given asynchronous parts,
 as multipart data. | 
| static <T,P extends Publisher<T>> | fromMultipartAsyncData(String name,
                      P publisher,
                      ParameterizedTypeReference<T> typeReference)Variant of  fromMultipartAsyncData(String, Publisher, Class)that
 accepts aParameterizedTypeReferencefor the element type, which
 allows specifying generic type information. | 
| static BodyInserters.MultipartInserter | fromMultipartData(MultiValueMap<String,?> multipartData)Return a  BodyInserters.MultipartInserterto write the givenMultiValueMapas multipart data. | 
| static BodyInserters.MultipartInserter | fromMultipartData(String name,
                 Object value)Return a  BodyInserters.MultipartInserterto write the given parts,
 as multipart data. | 
| static <T> BodyInserter<T,ReactiveHttpOutputMessage> | fromObject(T body)Deprecated. 
 As of Spring Framework 5.2, in favor of  fromValue(Object) | 
| static <T> BodyInserter<T,ReactiveHttpOutputMessage> | fromProducer(T producer,
            Class<?> elementClass)Inserter to write the given producer of value(s) which must be a  Publisheror another producer adaptable to aPublisherviaReactiveAdapterRegistry. | 
| static <T> BodyInserter<T,ReactiveHttpOutputMessage> | fromProducer(T producer,
            ParameterizedTypeReference<?> elementTypeRef)Inserter to write the given producer of value(s) which must be a  Publisheror another producer adaptable to aPublisherviaReactiveAdapterRegistry. | 
| static <T,P extends Publisher<T>> | fromPublisher(P publisher,
             Class<T> elementClass)Inserter to write the given  Publisher. | 
| static <T,P extends Publisher<T>> | fromPublisher(P publisher,
             ParameterizedTypeReference<T> elementTypeRef)Inserter to write the given  Publisher. | 
| static <T extends Resource> | fromResource(T resource)Inserter to write the given  Resource. | 
| static <T,S extends Publisher<ServerSentEvent<T>>> | fromServerSentEvents(S eventsPublisher)Inserter to write the given  ServerSentEventpublisher. | 
| static <T> BodyInserter<T,ReactiveHttpOutputMessage> | fromValue(T body)Inserter to write the given value. | 
public static <T> BodyInserter<T,ReactiveHttpOutputMessage> empty()
public static <T> BodyInserter<T,ReactiveHttpOutputMessage> fromValue(T body)
Alternatively, consider using the bodyValue(Object) shortcuts on
 WebClient and
 ServerResponse.
T - the type of the bodybody - the value to writeIllegalArgumentException - if body is a Publisher or an
 instance of a type supported by ReactiveAdapterRegistry.getSharedInstance(),
 for which fromPublisher(Publisher, Class) or
 fromProducer(Object, Class) should be used.fromPublisher(Publisher, Class), 
fromProducer(Object, Class)@Deprecated public static <T> BodyInserter<T,ReactiveHttpOutputMessage> fromObject(T body)
fromValue(Object)Alternatively, consider using the bodyValue(Object) shortcuts on
 WebClient and
 ServerResponse.
T - the type of the bodybody - the body to write to the responseIllegalArgumentException - if body is a Publisher or an
 instance of a type supported by ReactiveAdapterRegistry.getSharedInstance(),
 for which fromPublisher(Publisher, Class) or
 fromProducer(Object, Class) should be used.fromPublisher(Publisher, Class), 
fromProducer(Object, Class)public static <T> BodyInserter<T,ReactiveHttpOutputMessage> fromProducer(T producer, Class<?> elementClass)
Publisher
 or another producer adaptable to a Publisher via
 ReactiveAdapterRegistry.
 Alternatively, consider using the body shortcuts on
 WebClient and
 ServerResponse.
T - the type of the bodyproducer - the source of body value(s).elementClass - the class of values to be producedpublic static <T> BodyInserter<T,ReactiveHttpOutputMessage> fromProducer(T producer, ParameterizedTypeReference<?> elementTypeRef)
Publisher
 or another producer adaptable to a Publisher via
 ReactiveAdapterRegistry.
 Alternatively, consider using the body shortcuts on
 WebClient and
 ServerResponse.
T - the type of the bodyproducer - the source of body value(s).elementTypeRef - the type of values to be producedpublic static <T,P extends Publisher<T>> BodyInserter<P,ReactiveHttpOutputMessage> fromPublisher(P publisher, Class<T> elementClass)
Publisher.
 Alternatively, consider using the body shortcuts on
 WebClient and
 ServerResponse.
T - the type of the elements contained in the publisherP - the Publisher typepublisher - the publisher to write withelementClass - the class of elements in the publisherPublisherpublic static <T,P extends Publisher<T>> BodyInserter<P,ReactiveHttpOutputMessage> fromPublisher(P publisher, ParameterizedTypeReference<T> elementTypeRef)
Publisher.
 Alternatively, consider using the body shortcuts on
 WebClient and
 ServerResponse.
T - the type of the elements contained in the publisherP - the Publisher typepublisher - the publisher to write withelementTypeRef - the type of elements contained in the publisherPublisherpublic static <T extends Resource> BodyInserter<T,ReactiveHttpOutputMessage> fromResource(T resource)
Resource.
 If the resource can be resolved to a file, it will be copied using zero-copy.
T - the type of the Resourceresource - the resource to write to the output messagePublisherpublic static <T,S extends Publisher<ServerSentEvent<T>>> BodyInserter<S,ServerHttpResponse> fromServerSentEvents(S eventsPublisher)
ServerSentEvent publisher.
 Alternatively, you can provide event data objects via
 fromPublisher(Publisher, Class) or fromProducer(Object, Class),
 and set the "Content-Type" to text/event-stream.
T - the type of the data elements in the ServerSentEventeventsPublisher - the ServerSentEvent publisher to write to the response bodyServerSentEvent publisherpublic static BodyInserters.FormInserter<String> fromFormData(MultiValueMap<String,String> formData)
BodyInserters.FormInserter to write the given MultiValueMap
 as URL-encoded form data. The returned inserter allows for additional
 entries to be added via BodyInserters.FormInserter.with(String, Object).
 Note that you can also use the bodyValue(Object) method in the
 request builders of both the WebClient and WebTestClient.
 In that case the setting of the request content type is also not required,
 just be sure the map contains String values only or otherwise it would be
 interpreted as a multipart request.
formData - the form data to write to the output messagepublic static BodyInserters.FormInserter<String> fromFormData(String name, String value)
BodyInserters.FormInserter to write the given key-value pair as
 URL-encoded form data. The returned inserter allows for additional
 entries to be added via BodyInserters.FormInserter.with(String, Object).name - the key to add to the formvalue - the value to add to the formpublic static BodyInserters.MultipartInserter fromMultipartData(MultiValueMap<String,?> multipartData)
BodyInserters.MultipartInserter to write the given
 MultiValueMap as multipart data. Values in the map can be an
 Object or an HttpEntity.
 Note that you can also build the multipart data externally with
 MultipartBodyBuilder, and pass the resulting map directly to the
 bodyValue(Object) shortcut method in WebClient.
multipartData - the form data to write to the output messageMultipartBodyBuilderpublic static BodyInserters.MultipartInserter fromMultipartData(String name, Object value)
BodyInserters.MultipartInserter to write the given parts,
 as multipart data. Values in the map can be an Object or an
 HttpEntity.
 Note that you can also build the multipart data externally with
 MultipartBodyBuilder, and pass the resulting map directly to the
 bodyValue(Object) shortcut method in WebClient.
name - the part namevalue - the part value, an Object or HttpEntitypublic static <T,P extends Publisher<T>> BodyInserters.MultipartInserter fromMultipartAsyncData(String name, P publisher, Class<T> elementClass)
BodyInserters.MultipartInserter to write the given asynchronous parts,
 as multipart data.
 Note that you can also build the multipart data externally with
 MultipartBodyBuilder, and pass the resulting map directly to the
 bodyValue(Object) shortcut method in WebClient.
name - the part namepublisher - the publisher that forms the part valueelementClass - the class contained in the publisherpublic static <T,P extends Publisher<T>> BodyInserters.MultipartInserter fromMultipartAsyncData(String name, P publisher, ParameterizedTypeReference<T> typeReference)
fromMultipartAsyncData(String, Publisher, Class) that
 accepts a ParameterizedTypeReference for the element type, which
 allows specifying generic type information.
 Note that you can also build the multipart data externally with
 MultipartBodyBuilder, and pass the resulting map directly to the
 bodyValue(Object) shortcut method in WebClient.
name - the part namepublisher - the publisher that forms the part valuetypeReference - the type contained in the publisherpublic static <T extends Publisher<DataBuffer>> BodyInserter<T,ReactiveHttpOutputMessage> fromDataBuffers(T publisher)
Publisher<DataBuffer> to the body.T - the type of the publisherpublisher - the data buffer publisher to writeReactiveHttpOutputMessage.writeWith(Publisher)