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 java.util.Optional<java.lang.Object> |
attribute(java.lang.String name)
Return the request attribute value if present.
|
java.util.Map<java.lang.String,java.lang.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,
java.util.Map<java.lang.String,java.lang.Object> hints)
Extract the body with the given
BodyExtractor and 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()
Return the cookies of this request.
|
static ServerRequest |
create(ServerWebExchange exchange,
java.util.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.
|
java.lang.String |
methodName()
Return the name of the HTTP method.
|
default java.lang.String |
path()
Return the request path.
|
default PathContainer |
pathContainer()
Return the request path as
PathContainer . |
default java.lang.String |
pathVariable(java.lang.String name)
Return the path variable with the given name, if present.
|
java.util.Map<java.lang.String,java.lang.String> |
pathVariables()
Return all path variables for this request.
|
reactor.core.publisher.Mono<? extends java.security.Principal> |
principal()
Return the authenticated user for the request, if any.
|
default java.util.Optional<java.lang.String> |
queryParam(java.lang.String name)
Return the first query parameter with the given name, if present.
|
MultiValueMap<java.lang.String,java.lang.String> |
queryParams()
Return all query parameters for this request.
|
reactor.core.publisher.Mono<WebSession> |
session()
Return the web session for this request.
|
java.net.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)java.lang.String methodName()
java.net.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 java.lang.String path()
default PathContainer pathContainer()
PathContainer
.ServerRequest.Headers headers()
MultiValueMap<java.lang.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, 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 typeT
default 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()
reactor.core.publisher.Mono<? extends java.security.Principal> principal()
static ServerRequest create(ServerWebExchange exchange, java.util.List<HttpMessageReader<?>> messageReaders)
ServerRequest
based on the given ServerWebExchange
and
message readers.exchange
- the exchangemessageReaders
- the message readersServerRequest