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 TypeMethodDescriptionreactor.core.publisher.Mono<ServerResponse> Variant ofbody(Publisher, Class)that allows using any producer that can be resolved toPublisherviaReactiveAdapterRegistry.reactor.core.publisher.Mono<ServerResponse> body(Object producer, ParameterizedTypeReference<?> elementTypeRef) Variant ofbody(Publisher, ParameterizedTypeReference)that allows using any producer that can be resolved toPublisherviaReactiveAdapterRegistry.reactor.core.publisher.Mono<ServerResponse> body(BodyInserter<?, ? super ServerHttpResponse> inserter) Set the body of the response to the givenBodyInserterand return it.<T, P extends Publisher<T>>
reactor.core.publisher.Mono<ServerResponse> Set the body from the givenPublisher.<T, P extends Publisher<T>>
reactor.core.publisher.Mono<ServerResponse> body(P publisher, ParameterizedTypeReference<T> elementTypeRef) Variant ofbody(Publisher, Class)that allows using any producer that can be resolved toPublisherviaReactiveAdapterRegistry.reactor.core.publisher.Mono<ServerResponse> Set the body of the response to the givenObjectand return it.<T> reactor.core.publisher.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.reactor.core.publisher.Mono<ServerResponse> Render the template with the givennameusing the givenmodelAttributes.reactor.core.publisher.Mono<ServerResponse> Render the template with the givennameusing the givenmodel.Methods inherited from interface org.springframework.web.reactive.function.server.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
<T> reactor.core.publisher.Mono<ServerResponse> bodyValue(T body, ParameterizedTypeReference<T> bodyType) 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
<T, P extends Publisher<T>> reactor.core.publisher.Mono<ServerResponse> body(P publisher, Class<T> elementClass) - 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>> reactor.core.publisher.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
reactor.core.publisher.Mono<ServerResponse> body(Object producer, ParameterizedTypeReference<?> elementTypeRef) 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
reactor.core.publisher.Mono<ServerResponse> body(BodyInserter<?, ? super ServerHttpResponse> inserter) 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
-