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 toPublisher
viaReactiveAdapterRegistry
.reactor.core.publisher.Mono<ServerResponse>
body
(Object producer, ParameterizedTypeReference<?> elementTypeRef) Variant ofbody(Publisher, ParameterizedTypeReference)
that allows using any producer that can be resolved toPublisher
viaReactiveAdapterRegistry
.reactor.core.publisher.Mono<ServerResponse>
body
(BodyInserter<?, ? super ServerHttpResponse> inserter) Set the body of the response to the givenBodyInserter
and 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 toPublisher
viaReactiveAdapterRegistry
.reactor.core.publisher.Mono<ServerResponse>
Set the body of the response to the givenObject
and return it.<T> reactor.core.publisher.Mono<ServerResponse>
bodyValue
(T body, ParameterizedTypeReference<T> bodyType) Set the body of the response to the givenObject
and return it.contentLength
(long contentLength) Set the length of the body in bytes, as specified by theContent-Length
header.contentType
(MediaType contentType) Set the media type of the body, as specified by theContent-Type
header.Add a serialization hint likeJackson2CodecSupport.JSON_VIEW_HINT
to 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 givenname
using the givenmodelAttributes
.reactor.core.publisher.Mono<ServerResponse>
Render the template with the givenname
using 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-Length
header.- Parameters:
contentLength
- the content length- Returns:
- this builder
- See Also:
-
contentType
Set the media type of the body, as specified by theContent-Type
header.- Parameters:
contentType
- the content type- Returns:
- this builder
- See Also:
-
hint
Add a serialization hint likeJackson2CodecSupport.JSON_VIEW_HINT
to 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 givenObject
and 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
- ifbody
is aPublisher
or 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 givenObject
and 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
- ifbody
is aPublisher
or 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
- thePublisher
to 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 toPublisher
viaReactiveAdapterRegistry
.- Type Parameters:
T
- the type of the elements contained in the publisherP
- the type of thePublisher
- Parameters:
publisher
- thePublisher
to 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 toPublisher
viaReactiveAdapterRegistry
.- 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 toPublisher
viaReactiveAdapterRegistry
.- 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 givenBodyInserter
and return it.- Parameters:
inserter
- theBodyInserter
that 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 givenObject
and return it. As of 5.2 this method delegates tobodyValue(Object)
. -
render
Render the template with the givenname
using the givenmodelAttributes
. The model attributes are mapped under a generated name.Note: Empty
Collections
are 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 givenname
using 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)