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.
- 
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.web.servlet.function.ServerResponse.HeadersBuilder
ServerResponse.HeadersBuilder.WriteFunction - 
Method Summary
Modifier and TypeMethodDescriptionSet the body of the response to the givenObjectand return it.<T> ServerResponsebody(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.Render the template with the givennameusing the givenmodelAttributes.Render the template with the givennameusing the givenmodel.stream(Consumer<ServerResponse.StreamBuilder> streamConsumer) Create a low-level streaming response; for SSE support, seeServerResponse.sse(Consumer).Methods inherited from interface org.springframework.web.servlet.function.ServerResponse.HeadersBuilder
allow, allow, 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:
 
 - 
body
Set the body of the response to the givenObjectand return it.Asynchronous response bodies are supported by providing a
CompletionStageorPublisheras body (or any asynchronous producer of a single entity that can be adapted via theReactiveAdapterRegistry).- Parameters:
 body- the body of the response- Returns:
 - the built response
 
 - 
body
Set the body of the response to the givenObjectand return it. The parameterbodyTypeis used to capture the generic type.- Parameters:
 body- the body of the responsebodyType- the type of the body, used to capture the generic type- 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
 
 - 
stream
Create a low-level streaming response; for SSE support, seeServerResponse.sse(Consumer).The
ServerResponse.StreamBuilderprovided to thestreamConsumercan be used to write to the response in a streaming fashion. Note, the builder is responsible for flushing the buffered content to the network.For example:
public ServerResponse handleStream(ServerRequest request) { return ServerResponse.ok() .contentType(MediaType.APPLICATION_ND_JSON) .stream(stream -> { try { // Write and flush a first item stream.write(new Person("John", 51), MediaType.APPLICATION_JSON) .write(new byte[]{'\n'}) .flush(); // Write and complete with the last item stream.write(new Person("Jane", 42), MediaType.APPLICATION_JSON) .write(new byte[]{'\n'}) .complete(); } catch (IOException ex) { throw new UncheckedIOException(ex); } }); }- Parameters:
 streamConsumer- consumer that will be provided with a stream builder- Returns:
 - the server-side streaming response
 - Since:
 - 6.2
 
 
 -