org.springframework.web.reactive.function.server

## Interface ServerResponse

- All Known Subinterfaces:
    EntityResponse<T>, RenderingResponse

      public interface ServerResponse

  Represents a typed server-side HTTP response, as returned by a handler function or filter function.
  Since:
    5.0
  Author:
    Arjen Poutsma, Juergen Hoeller, Sebastien Deleuze

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `ServerResponse.BodyBuilder` Defines a builder that adds a body to the response.
    `static interface` | `ServerResponse.Context` Defines the context used during the `writeTo(ServerWebExchange, Context)`.
    `static interface` | `ServerResponse.HeadersBuilder<B extends ServerResponse.HeadersBuilder<B>>` Defines a builder that adds headers to the response.

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `static ServerResponse.BodyBuilder` | `accepted()` Create a builder with an 202 Accepted status.
    `static ServerResponse.BodyBuilder` | `badRequest()` Create a builder with a 400 Bad Request status.
    `MultiValueMap<String,ResponseCookie>` | `cookies()` Return the cookies of this response.
    `static ServerResponse.BodyBuilder` | `created(URI location)` Create a new builder with a 201 Created status and a location header set to the given URI.
    `static ServerResponse.BodyBuilder` | `from(ServerResponse other)` Create a builder with the status code and headers of the given response.
    `HttpHeaders` | `headers()` Return the headers of this response.
    `static ServerResponse.HeadersBuilder<?>` | `noContent()` Create a builder with a 204 No Content status.
    `static ServerResponse.HeadersBuilder<?>` | `notFound()` Create a builder with a 404 Not Found status.
    `static ServerResponse.BodyBuilder` | `ok()` Create a builder with the status set to 200 OK.
    `static ServerResponse.BodyBuilder` | `permanentRedirect(URI location)` Create a builder with a 308 Permanent Redirect status and a location header set to the given URI.
    `int` | `rawStatusCode()` Return the (potentially non-standard) status code of this response.
    `static ServerResponse.BodyBuilder` | `seeOther(URI location)` Create a builder with a 303 See Other status and a location header set to the given URI.
    `static ServerResponse.BodyBuilder` | `status(HttpStatus status)` Create a builder with the given HTTP status.
    `static ServerResponse.BodyBuilder` | `status(int status)` Create a builder with the given HTTP status.
    `HttpStatus` | `statusCode()` Return the status code of this response.
    `static ServerResponse.BodyBuilder` | `temporaryRedirect(URI location)` Create a builder with a 307 Temporary Redirect status and a location header set to the given URI.
    `static ServerResponse.BodyBuilder` | `unprocessableEntity()` Create a builder with an 422 Unprocessable Entity status.
    `reactor.core.publisher.Mono<Void>` | `writeTo(ServerWebExchange exchange, ServerResponse.Context context)` Write this response to the given web exchange.

- - ### Method Detail

    - #### statusCode

          HttpStatus statusCode()

      Return the status code of this response.
      Returns:
        the status as an HttpStatus enum value
      Throws:
        `IllegalArgumentException` - in case of an unknown HTTP status code
      See Also:
        `HttpStatus.valueOf(int)`

    - #### rawStatusCode

          int rawStatusCode()

      Return the (potentially non-standard) status code of this response.
      Returns:
        the status as an integer
      Since:
        5.2
      See Also:
        `statusCode()`, `HttpStatus.resolve(int)`

    - #### headers

          HttpHeaders headers()

      Return the headers of this response.

    - #### cookies

          MultiValueMap<String,ResponseCookie> cookies()

      Return the cookies of this response.

    - #### writeTo

          reactor.core.publisher.Mono<Void> writeTo(ServerWebExchange exchange,
                                                    ServerResponse.Context context)

      Write this response to the given web exchange.
      Parameters:
        `exchange` - the web exchange to write to
        `context` - the context to use when writing
      Returns:
        `Mono<Void>` to indicate when writing is complete

    - #### from

          static ServerResponse.BodyBuilder from(ServerResponse other)

      Create a builder with the status code and headers of the given response.
      Parameters:
        `other` - the response to copy the status and headers from
      Returns:
        the created builder

    - #### status

          static ServerResponse.BodyBuilder status(HttpStatus status)

      Create a builder with the given HTTP status.
      Parameters:
        `status` - the response status
      Returns:
        the created builder

    - #### status

          static ServerResponse.BodyBuilder status(int status)

      Create a builder with the given HTTP status.
      Parameters:
        `status` - the response status
      Returns:
        the created builder
      Since:
        5.0.3

    - #### ok

          static ServerResponse.BodyBuilder ok()

      Create a builder with the status set to 200 OK.
      Returns:
        the created builder

    - #### created

          static ServerResponse.BodyBuilder created(URI location)

      Create a new builder with a 201 Created status and a location header set to the given URI.
      Parameters:
        `location` - the location URI
      Returns:
        the created builder

    - #### accepted

          static ServerResponse.BodyBuilder accepted()

      Create a builder with an 202 Accepted status.
      Returns:
        the created builder

    - #### noContent

          static ServerResponse.HeadersBuilder<?> noContent()

      Create a builder with a 204 No Content status.
      Returns:
        the created builder

    - #### seeOther

          static ServerResponse.BodyBuilder seeOther(URI location)

      Create a builder with a 303 See Other status and a location header set to the given URI.
      Parameters:
        `location` - the location URI
      Returns:
        the created builder

    - #### temporaryRedirect

          static ServerResponse.BodyBuilder temporaryRedirect(URI location)

      Create a builder with a 307 Temporary Redirect status and a location header set to the given URI.
      Parameters:
        `location` - the location URI
      Returns:
        the created builder

    - #### permanentRedirect

          static ServerResponse.BodyBuilder permanentRedirect(URI location)

      Create a builder with a 308 Permanent Redirect status and a location header set to the given URI.
      Parameters:
        `location` - the location URI
      Returns:
        the created builder

    - #### badRequest

          static ServerResponse.BodyBuilder badRequest()

      Create a builder with a 400 Bad Request status.
      Returns:
        the created builder

    - #### notFound

          static ServerResponse.HeadersBuilder<?> notFound()

      Create a builder with a 404 Not Found status.
      Returns:
        the created builder

    - #### unprocessableEntity

          static ServerResponse.BodyBuilder unprocessableEntity()

      Create a builder with an 422 Unprocessable Entity status.
      Returns:
        the created builder