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.BuilderDefines a builder for a request. | 
| static interface  | ServerRequest.HeadersRepresents the headers of the HTTP request. | 
| Modifier and Type | Method and Description | 
|---|---|
| default java.util.Optional<java.lang.Object> | attribute(java.lang.String name)Get the request attribute value if present. | 
| java.util.Map<java.lang.String,java.lang.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,
    java.util.Map<java.lang.String,java.lang.Object> hints)Extract the body with the given  BodyExtractorand hints. | 
| <T> reactor.core.publisher.Flux<T> | bodyToFlux(java.lang.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(java.lang.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<java.lang.String,HttpCookie> | cookies()Get the cookies of this request. | 
| static ServerRequest | create(ServerWebExchange exchange,
      java.util.List<HttpMessageReader<?>> messageReaders)Create a new  ServerRequestbased on the givenServerWebExchangeand
 message readers. | 
| ServerWebExchange | exchange()Get the web exchange that this request is based on. | 
| reactor.core.publisher.Mono<MultiValueMap<java.lang.String,java.lang.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. | 
| static ServerRequest.Builder | from(ServerRequest other)Create a builder with the status, headers, and cookies of the given request. | 
| ServerRequest.Headers | headers()Get the headers of this request. | 
| java.util.List<HttpMessageReader<?>> | messageReaders()Get the readers used to convert the body of this request. | 
| default HttpMethod | method()Get the HTTP method. | 
| java.lang.String | methodName()Get the name of the HTTP method. | 
| reactor.core.publisher.Mono<MultiValueMap<java.lang.String,Part>> | multipartData()Get the parts of a multipart request if the Content-Type is
  "multipart/form-data"or an empty map otherwise. | 
| default java.lang.String | path()Get the request path. | 
| default PathContainer | pathContainer()Get the request path as a  PathContainer. | 
| default java.lang.String | pathVariable(java.lang.String name)Get the path variable with the given name, if present. | 
| java.util.Map<java.lang.String,java.lang.String> | pathVariables()Get all path variables for this request. | 
| reactor.core.publisher.Mono<? extends java.security.Principal> | principal()Get the authenticated user for the request, if any. | 
| default java.util.Optional<java.lang.String> | queryParam(java.lang.String name)Get the first query parameter with the given name, if present. | 
| MultiValueMap<java.lang.String,java.lang.String> | queryParams()Get all query parameters for this request. | 
| java.util.Optional<java.net.InetSocketAddress> | remoteAddress()Get the remote address to which this request is connected, if available. | 
| reactor.core.publisher.Mono<WebSession> | session()Get the web session for this request. | 
| java.net.URI | uri()Get the request URI. | 
| UriBuilder | uriBuilder()Get a  UriBuilderComponentsfrom the URI associated with thisServerRequest. | 
@Nullable default HttpMethod method()
null
 if not resolvable (e.g. in case of a non-standard HTTP method)java.lang.String methodName()
java.net.URI uri()
UriBuilder uriBuilder()
UriBuilderComponents from the URI associated with this
 ServerRequest.
 Note: as of 5.1 this method ignores "Forwarded"
 and "X-Forwarded-*" headers that specify the
 client-originated address. Consider using the ForwardedHeaderFilter
 to extract and use, or to discard such headers.
default java.lang.String path()
default PathContainer pathContainer()
PathContainer.ServerRequest.Headers headers()
MultiValueMap<java.lang.String,HttpCookie> cookies()
java.util.Optional<java.net.InetSocketAddress> remoteAddress()
java.util.List<HttpMessageReader<?>> messageReaders()
<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, java.util.Map<java.lang.String,java.lang.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(java.lang.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(java.lang.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 java.util.Optional<java.lang.Object> attribute(java.lang.String name)
name - the attribute namejava.util.Map<java.lang.String,java.lang.Object> attributes()
default java.util.Optional<java.lang.String> queryParam(java.lang.String name)
name - the parameter nameMultiValueMap<java.lang.String,java.lang.String> queryParams()
default java.lang.String pathVariable(java.lang.String name)
name - the variable namejava.lang.IllegalArgumentException - if there is no path variable with the given namejava.util.Map<java.lang.String,java.lang.String> pathVariables()
reactor.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 java.security.Principal> principal()
reactor.core.publisher.Mono<MultiValueMap<java.lang.String,java.lang.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<java.lang.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.
ServerWebExchange exchange()
Note: Manipulating the exchange directly (instead of using the methods provided on
 ServerRequest and ServerResponse) can lead to irregular results.
static ServerRequest create(ServerWebExchange exchange, java.util.List<HttpMessageReader<?>> messageReaders)
ServerRequest based on the given ServerWebExchange and
 message readers.exchange - the exchangemessageReaders - the message readersServerRequeststatic ServerRequest.Builder from(ServerRequest other)
other - the response to copy the status, headers, and cookies from