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
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description reactor.core.publisher.Mono<ServerResponse>
body(Object producer, Class<?> elementClass)
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 org.reactivestreams.Publisher<T>>
reactor.core.publisher.Mono<ServerResponse>body(P publisher, Class<T> elementClass)
Set the body from the givenPublisher
.<T,P extends org.reactivestreams.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>
bodyValue(Object body)
Set the body of the response to the givenObject
and return it.ServerResponse.BodyBuilder
contentLength(long contentLength)
Set the length of the body in bytes, as specified by theContent-Length
header.ServerResponse.BodyBuilder
contentType(MediaType contentType)
Set the media type of the body, as specified by theContent-Type
header.ServerResponse.BodyBuilder
hint(String key, Object value)
Add a serialization hint likeJackson2CodecSupport.JSON_VIEW_HINT
to customize how the body will be serialized.ServerResponse.BodyBuilder
hints(Consumer<Map<String,Object>> hintsConsumer)
Customize the serialization hints with the given consumer.reactor.core.publisher.Mono<ServerResponse>
render(String name, Object... modelAttributes)
Render the template with the givenname
using the givenmodelAttributes
.reactor.core.publisher.Mono<ServerResponse>
render(String name, Map<String,?> model)
Render the template with the givenname
using the givenmodel
.reactor.core.publisher.Mono<ServerResponse>
syncBody(Object body)
Deprecated.as of Spring Framework 5.2 in favor ofbodyValue(Object)
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 Detail
contentLength
ServerResponse.BodyBuilder contentLength(long 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:
HttpHeaders.setContentLength(long)
contentType
ServerResponse.BodyBuilder contentType(MediaType contentType)
Set the media type of the body, as specified by theContent-Type
header.- Parameters:
contentType
- the content type- Returns:
- this builder
- See Also:
HttpHeaders.setContentType(MediaType)
hint
ServerResponse.BodyBuilder hint(String key, Object value)
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
ServerResponse.BodyBuilder hints(Consumer<Map<String,Object>> hintsConsumer)
Customize the serialization hints with the given consumer.- Parameters:
hintsConsumer
- a function that consumes the hints- Returns:
- this builder
- Since:
- 5.1.6
bodyValue
reactor.core.publisher.Mono<ServerResponse> bodyValue(Object body)
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
body
<T,P extends org.reactivestreams.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 org.reactivestreams.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
reactor.core.publisher.Mono<ServerResponse> body(Object producer, Class<?> elementClass)
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 reactor.core.publisher.Mono<ServerResponse> syncBody(Object body)
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
reactor.core.publisher.Mono<ServerResponse> render(String name, Object... modelAttributes)
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
reactor.core.publisher.Mono<ServerResponse> render(String name, Map<String,?> model)
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