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.Headers
Represents the headers of the HTTP request.
|
Modifier and Type | Method and Description |
---|---|
default Optional<Object> |
attribute(String name)
Return the request attribute value if present.
|
Map<String,Object> |
attributes()
Return 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
BodyExtractor and 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()
Return the cookies of this request.
|
static ServerRequest |
create(ServerWebExchange exchange,
List<HttpMessageReader<?>> messageReaders)
Create a new
ServerRequest based on the given ServerWebExchange and
message readers. |
ServerRequest.Headers |
headers()
Return the headers of this request.
|
default HttpMethod |
method()
Return the HTTP method.
|
String |
methodName()
Return the name of the HTTP method.
|
default String |
path()
Return the request path.
|
default PathContainer |
pathContainer()
Return the request path as
PathContainer . |
default String |
pathVariable(String name)
Return the path variable with the given name, if present.
|
Map<String,String> |
pathVariables()
Return all path variables for this request.
|
reactor.core.publisher.Mono<? extends Principal> |
principal()
Return the authenticated user for the request, if any.
|
default Optional<String> |
queryParam(String name)
Return the first query parameter with the given name, if present.
|
MultiValueMap<String,String> |
queryParams()
Return all query parameters for this request.
|
reactor.core.publisher.Mono<WebSession> |
session()
Return the web session for this request.
|
URI |
uri()
Return the request URI.
|
UriBuilder |
uriBuilder()
Return a
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. |
@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 typeT
default 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()
reactor.core.publisher.Mono<? extends Principal> principal()
static ServerRequest create(ServerWebExchange exchange, List<HttpMessageReader<?>> messageReaders)
ServerRequest
based on the given ServerWebExchange
and
message readers.exchange
- the exchangemessageReaders
- the message readersServerRequest