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.
Since:
5.0
Author:
Arjen Poutsma, Juergen Hoeller, Sebastien Deleuze
  • Method Details

    • contentLength

      ServerResponse.BodyBuilder contentLength(long contentLength)
      Set the length of the body in bytes, as specified by the Content-Length header.
      Parameters:
      contentLength - the content length
      Returns:
      this builder
      See Also:
      • HttpHeaders.setContentLength(long)
    • contentType

      ServerResponse.BodyBuilder contentType(org.springframework.http.MediaType contentType)
      Set the media type of the body, as specified by the Content-Type header.
      Parameters:
      contentType - the content type
      Returns:
      this builder
      See Also:
      • HttpHeaders.setContentType(MediaType)
    • hint

      Add a serialization hint like JacksonCodecSupport.JSON_VIEW_HINT to customize how the body will be serialized.
      Parameters:
      key - the hint key
      value - 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

      reactor.core.publisher.Mono<ServerResponse> bodyValue(Object body)
      Set the body of the response to the given Object and return it. This is a shortcut for using a body(BodyInserter) with a value inserter.
      Parameters:
      body - the body of the response
      Returns:
      the built response
      Throws:
      IllegalArgumentException - if body is a Publisher or producer known to ReactiveAdapterRegistry
      Since:
      5.2
    • bodyValue

      <T> reactor.core.publisher.Mono<ServerResponse> bodyValue(T body, org.springframework.core.ParameterizedTypeReference<T> bodyType)
      Set the body of the response to the given Object and return it. This is a shortcut for using a body(BodyInserter) with a value inserter.
      Type Parameters:
      T - the type of the body
      Parameters:
      body - the body of the response
      bodyType - the type of the body, used to capture the generic type
      Returns:
      the built response
      Throws:
      IllegalArgumentException - if body is a Publisher or producer known to ReactiveAdapterRegistry
      Since:
      6.2
    • body

      <T, P extends Publisher<T>> reactor.core.publisher.Mono<ServerResponse> body(P publisher, Class<T> elementClass)
      Set the body from the given Publisher. Shortcut for body(BodyInserter) with a Publisher inserter.
      Type Parameters:
      T - the type of the elements contained in the publisher
      P - the type of the Publisher
      Parameters:
      publisher - the Publisher to write to the response
      elementClass - the type of elements published
      Returns:
      the built response
    • body

      <T, P extends Publisher<T>> reactor.core.publisher.Mono<ServerResponse> body(P publisher, org.springframework.core.ParameterizedTypeReference<T> elementTypeRef)
      Variant of body(Publisher, Class) that allows using any producer that can be resolved to Publisher via ReactiveAdapterRegistry.
      Type Parameters:
      T - the type of the elements contained in the publisher
      P - the type of the Publisher
      Parameters:
      publisher - the Publisher to use to write the response
      elementTypeRef - the type of elements produced
      Returns:
      the built response
    • body

      reactor.core.publisher.Mono<ServerResponse> body(Object producer, Class<?> elementClass)
      Variant of body(Publisher, Class) that allows using any producer that can be resolved to Publisher via ReactiveAdapterRegistry.
      Parameters:
      producer - the producer to write to the request
      elementClass - the type of elements produced
      Returns:
      the built response
      Since:
      5.2
    • body

      reactor.core.publisher.Mono<ServerResponse> body(Object producer, org.springframework.core.ParameterizedTypeReference<?> elementTypeRef)
      Variant of body(Publisher, ParameterizedTypeReference) that allows using any producer that can be resolved to Publisher via ReactiveAdapterRegistry.
      Parameters:
      producer - the producer to write to the response
      elementTypeRef - the type of elements produced
      Returns:
      the built response
      Since:
      5.2
    • body

      reactor.core.publisher.Mono<ServerResponse> body(BodyInserter<?, ? super org.springframework.http.server.reactive.ServerHttpResponse> inserter)
      Set the body of the response to the given BodyInserter and return it.
      Parameters:
      inserter - the BodyInserter that writes to the response
      Returns:
      the built response
    • render

      reactor.core.publisher.Mono<ServerResponse> render(String name, Object... modelAttributes)
      Render the template with the given name using the given modelAttributes. 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 rendered
      modelAttributes - 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 given name using the given model.
      Parameters:
      name - the name of the template to be rendered
      model - the model used to render the template
      Returns:
      the built response