Interface ServerResponse.BodyBuilder
- All Superinterfaces:
ServerResponse.HeadersBuilder<ServerResponse.BodyBuilder>
- Enclosing interface:
ServerResponse
public static interface ServerResponse.BodyBuilder
extends ServerResponse.HeadersBuilder<ServerResponse.BodyBuilder>
Defines a builder that adds a body to the response.
- Since:
- 5.0
- Author:
- Arjen Poutsma, Juergen Hoeller, Sebastien Deleuze
-
Method Summary
Modifier and TypeMethodDescriptionVariant ofbody(Publisher, Class)that allows using any producer that can be resolved toPublisherviaReactiveAdapterRegistry.body(Object producer, ParameterizedTypeReference<?> elementTypeRef) Variant ofbody(Publisher, ParameterizedTypeReference)that allows using any producer that can be resolved toPublisherviaReactiveAdapterRegistry.body(BodyInserter<?, ? super ServerHttpResponse> inserter) Set the body of the response to the givenBodyInserterand return it.<T, P extends Publisher<T>>
Mono<ServerResponse> Set the body from the givenPublisher.<T, P extends Publisher<T>>
Mono<ServerResponse> body(P publisher, ParameterizedTypeReference<T> elementTypeRef) Variant ofbody(Publisher, Class)that allows using any producer that can be resolved toPublisherviaReactiveAdapterRegistry.Set the body of the response to the givenObjectand return it.<T> Mono<ServerResponse> bodyValue(T body, ParameterizedTypeReference<T> bodyType) Set the body of the response to the givenObjectand return it.contentLength(long contentLength) Set the length of the body in bytes, as specified by theContent-Lengthheader.contentType(MediaType contentType) Set the media type of the body, as specified by theContent-Typeheader.Add a serialization hint likeJacksonCodecSupport.JSON_VIEW_HINTto customize how the body will be serialized.Customize the serialization hints with the given consumer.Render the template with the givennameusing the givenmodelAttributes.Render the template with the givennameusing the givenmodel.Methods inherited from interface ServerResponse.HeadersBuilder
allow, allow, build, build, build, cacheControl, cookie, cookies, eTag, header, headers, lastModified, lastModified, location, varyBy
-
Method Details
-
contentLength
Set the length of the body in bytes, as specified by theContent-Lengthheader.- Parameters:
contentLength- the content length- Returns:
- this builder
- See Also:
-
contentType
Set the media type of the body, as specified by theContent-Typeheader.- Parameters:
contentType- the content type- Returns:
- this builder
- See Also:
-
hint
Add a serialization hint likeJacksonCodecSupport.JSON_VIEW_HINTto customize how the body will be serialized.- Parameters:
key- the hint keyvalue- the hint value
-
hints
Customize the serialization hints with the given consumer.- Parameters:
hintsConsumer- a function that consumes the hints- Returns:
- this builder
- Since:
- 5.1.6
-
bodyValue
Set the body of the response to the givenObjectand return it. This is a shortcut for using abody(BodyInserter)with a value inserter.- Parameters:
body- the body of the response- Returns:
- the built response
- Throws:
IllegalArgumentException- ifbodyis aPublisheror producer known toReactiveAdapterRegistry- Since:
- 5.2
-
bodyValue
Set the body of the response to the givenObjectand return it. This is a shortcut for using abody(BodyInserter)with a value inserter.- Type Parameters:
T- the type of the body- Parameters:
body- the body of the responsebodyType- the type of the body, used to capture the generic type- Returns:
- the built response
- Throws:
IllegalArgumentException- ifbodyis aPublisheror producer known toReactiveAdapterRegistry- Since:
- 6.2
-
body
- Type Parameters:
T- the type of the elements contained in the publisherP- the type of thePublisher- Parameters:
publisher- thePublisherto write to the responseelementClass- the type of elements published- Returns:
- the built response
-
body
<T, P extends Publisher<T>> Mono<ServerResponse> body(P publisher, ParameterizedTypeReference<T> elementTypeRef) Variant ofbody(Publisher, Class)that allows using any producer that can be resolved toPublisherviaReactiveAdapterRegistry.- Type Parameters:
T- the type of the elements contained in the publisherP- the type of thePublisher- Parameters:
publisher- thePublisherto use to write the responseelementTypeRef- the type of elements produced- Returns:
- the built response
-
body
Variant ofbody(Publisher, Class)that allows using any producer that can be resolved toPublisherviaReactiveAdapterRegistry.- Parameters:
producer- the producer to write to the requestelementClass- the type of elements produced- Returns:
- the built response
- Since:
- 5.2
-
body
Variant ofbody(Publisher, ParameterizedTypeReference)that allows using any producer that can be resolved toPublisherviaReactiveAdapterRegistry.- Parameters:
producer- the producer to write to the responseelementTypeRef- the type of elements produced- Returns:
- the built response
- Since:
- 5.2
-
body
Set the body of the response to the givenBodyInserterand return it.- Parameters:
inserter- theBodyInserterthat writes to the response- Returns:
- the built response
-
render
Render the template with the givennameusing the givenmodelAttributes. The model attributes are mapped under a generated name.Note: Empty
Collectionsare not added to the model when using this method because we cannot correctly determine the true convention name.- Parameters:
name- the name of the template to be renderedmodelAttributes- the modelAttributes used to render the template- Returns:
- the built response
-
render
Render the template with the givennameusing the givenmodel.- Parameters:
name- the name of the template to be renderedmodel- the model used to render the template- Returns:
- the built response
-