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 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 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 toPublisherviaReactiveAdapterRegistry.reactor.core.publisher.Mono<ServerResponse>bodyValue(Object body)Set the body of the response to the givenObjectand return it.ServerResponse.BodyBuildercontentLength(long contentLength)Set the length of the body in bytes, as specified by theContent-Lengthheader.ServerResponse.BodyBuildercontentType(MediaType contentType)Set the media type of the body, as specified by theContent-Typeheader.ServerResponse.BodyBuilderhint(String key, Object value)Add a serialization hint likeJackson2CodecSupport.JSON_VIEW_HINTto customize how the body will be serialized.ServerResponse.BodyBuilderhints(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 givennameusing the givenmodelAttributes.reactor.core.publisher.Mono<ServerResponse>render(String name, Map<String,?> model)Render the template with the givennameusing 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-Lengthheader.- 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-Typeheader.- 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_HINTto 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 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 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- thePublisherto 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 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
reactor.core.publisher.Mono<ServerResponse> body(Object producer, Class<?> elementClass)
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 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 givenObjectand 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 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
reactor.core.publisher.Mono<ServerResponse> render(String name, Map<String,?> model)
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