public interface ServerRequest
HandlerFunction.
 Access to headers and body is offered by ServerRequest.Headers and
 body(BodyExtractor), respectively.
| Modifier and Type | Interface and Description | 
|---|---|
| static interface  | ServerRequest.HeadersRepresents the headers of the HTTP request. | 
| Modifier and Type | Method and Description | 
|---|---|
| default Optional<Object> | attribute(String name)Get the request attribute value if present. | 
| Map<String,Object> | attributes()Get a mutable map of request attributes. | 
| <T> T | body(BodyExtractor<T,? super ServerHttpRequest> extractor)Extract the body with the given  BodyExtractor. | 
| <T> T | body(BodyExtractor<T,? super ServerHttpRequest> extractor,
    Map<String,Object> hints)Extract the body with the given  BodyExtractorand hints. | 
| <T> reactor.core.publisher.Flux<T> | bodyToFlux(Class<? extends T> elementClass)Extract the body to a  Flux. | 
| <T> reactor.core.publisher.Flux<T> | bodyToFlux(ParameterizedTypeReference<T> typeReference)Extract the body to a  Flux. | 
| <T> reactor.core.publisher.Mono<T> | bodyToMono(Class<? extends T> elementClass)Extract the body to a  Mono. | 
| <T> reactor.core.publisher.Mono<T> | bodyToMono(ParameterizedTypeReference<T> typeReference)Extract the body to a  Mono. | 
| MultiValueMap<String,HttpCookie> | cookies()Get the cookies of this request. | 
| static ServerRequest | create(ServerWebExchange exchange,
      List<HttpMessageReader<?>> messageReaders)Create a new  ServerRequestbased on the givenServerWebExchangeand
 message readers. | 
| reactor.core.publisher.Mono<MultiValueMap<String,String>> | formData()Get the form data from the body of the request if the Content-Type is
  "application/x-www-form-urlencoded"or an empty map otherwise. | 
| ServerRequest.Headers | headers()Get the headers of this request. | 
| default HttpMethod | method()Get the HTTP method. | 
| String | methodName()Get the name of the HTTP method. | 
| reactor.core.publisher.Mono<MultiValueMap<String,Part>> | multipartData()Get the parts of a multipart request if the Content-Type is
  "multipart/form-data"or an empty map otherwise. | 
| default String | path()Get the request path. | 
| default PathContainer | pathContainer()Get the request path as a  PathContainer. | 
| default String | pathVariable(String name)Get the path variable with the given name, if present. | 
| Map<String,String> | pathVariables()Get all path variables for this request. | 
| reactor.core.publisher.Mono<? extends Principal> | principal()Get the authenticated user for the request, if any. | 
| default Optional<String> | queryParam(String name)Get the first query parameter with the given name, if present. | 
| MultiValueMap<String,String> | queryParams()Get all query parameters for this request. | 
| reactor.core.publisher.Mono<WebSession> | session()Get the web session for this request. | 
| URI | uri()Get the request URI. | 
| UriBuilder | uriBuilder()Get a  UriBuilderComponentsfrom the URI associated with thisServerRequest, while also overlaying with values from the headers
 "Forwarded" (RFC 7239),
 or "X-Forwarded-Host", "X-Forwarded-Port", and "X-Forwarded-Proto" if
 "Forwarded" is not found. | 
@Nullable default HttpMethod method()
null
 if not resolvable (e.g. in case of a non-standard HTTP method)String methodName()
URI uri()
UriBuilder uriBuilder()
UriBuilderComponents  from the URI associated with this
 ServerRequest, while also overlaying with values from the headers
 "Forwarded" (RFC 7239),
 or "X-Forwarded-Host", "X-Forwarded-Port", and "X-Forwarded-Proto" if
 "Forwarded" is not found.default String path()
default PathContainer pathContainer()
PathContainer.ServerRequest.Headers headers()
MultiValueMap<String,HttpCookie> cookies()
<T> T body(BodyExtractor<T,? super ServerHttpRequest> extractor)
BodyExtractor.T - the type of the body returnedextractor - the BodyExtractor that reads from the requestbody(BodyExtractor, Map)<T> T body(BodyExtractor<T,? super ServerHttpRequest> extractor, Map<String,Object> hints)
BodyExtractor and hints.T - the type of the body returnedextractor - the BodyExtractor that reads from the requesthints - the map of hints like Jackson2CodecSupport.JSON_VIEW_HINT
 to use to customize body extraction<T> reactor.core.publisher.Mono<T> bodyToMono(Class<? extends T> elementClass)
Mono.T - the element typeelementClass - the class of element in the Mono<T> reactor.core.publisher.Mono<T> bodyToMono(ParameterizedTypeReference<T> typeReference)
Mono.T - the element typetypeReference - a type reference describing the expected response request typeT<T> reactor.core.publisher.Flux<T> bodyToFlux(Class<? extends T> elementClass)
Flux.T - the element typeelementClass - the class of element in the Flux<T> reactor.core.publisher.Flux<T> bodyToFlux(ParameterizedTypeReference<T> typeReference)
Flux.T - the element typetypeReference - a type reference describing the expected request body typeTdefault Optional<Object> attribute(String name)
name - the attribute nameMap<String,Object> attributes()
default Optional<String> queryParam(String name)
name - the parameter nameMultiValueMap<String,String> queryParams()
default String pathVariable(String name)
name - the variable nameIllegalArgumentException - if there is no path variable with the given namereactor.core.publisher.Mono<WebSession> session()
Always guaranteed to return an instance either matching the session id requested by the client, or with a new session id either because the client did not specify one or because the underlying session had expired.
Use of this method does not automatically create a session.
reactor.core.publisher.Mono<? extends Principal> principal()
reactor.core.publisher.Mono<MultiValueMap<String,String>> formData()
"application/x-www-form-urlencoded" or an empty map otherwise.
 Note: calling this method causes the request body to
 be read and parsed in full, and the resulting MultiValueMap is
 cached so that this method is safe to call more than once.
reactor.core.publisher.Mono<MultiValueMap<String,Part>> multipartData()
"multipart/form-data" or an empty map otherwise.
 Note: calling this method causes the request body to
 be read and parsed in full, and the resulting MultiValueMap is
 cached so that this method is safe to call more than once.
static ServerRequest create(ServerWebExchange exchange, List<HttpMessageReader<?>> messageReaders)
ServerRequest based on the given ServerWebExchange and
 message readers.exchange - the exchangemessageReaders - the message readersServerRequest