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.
-
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.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 likeJackson2CodecSupport.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.reactor.core.publisher.Mono<ServerResponse>Deprecated.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 likeJackson2CodecSupport.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
-
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
-
syncBody
Deprecated.as of Spring Framework 5.2 in favor ofbodyValue(Object)Set the response body to the givenObjectand return it. As of 5.2 this method delegates tobodyValue(Object). -
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
-
bodyValue(Object)