类 ServerRequestWrapper
- java.lang.Object
- org.springframework.web.reactive.function.server.support.ServerRequestWrapper
- 所有已实现的接口:
ServerRequest
public class ServerRequestWrapper extends Object implements ServerRequest
Implementation of theServerRequest
interface that can be subclassed to adapt the request in ahandler filter function
. All methods default to calling through to the wrapped request.- 从以下版本开始:
- 5.0
- 作者:
- Arjen Poutsma
嵌套类概要
嵌套类 修饰符和类型 类 说明 static class
ServerRequestWrapper.HeadersWrapper
Implementation of theHeaders
interface that can be subclassed to adapt the headers in ahandler filter function
.从接口继承的嵌套类/接口 org.springframework.web.reactive.function.server.ServerRequest
ServerRequest.Builder, ServerRequest.Headers
构造器概要
构造器 构造器 说明 ServerRequestWrapper(ServerRequest delegate)
Create a newServerRequestWrapper
that wraps the given request.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 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 givenBodyExtractor
.<T> T
body(BodyExtractor<T,? super ServerHttpRequest> extractor, Map<String,Object> hints)
Extract the body with the givenBodyExtractor
and hints.<T> reactor.core.publisher.Flux<T>
bodyToFlux(Class<? extends T> elementClass)
Extract the body to aFlux
.<T> reactor.core.publisher.Flux<T>
bodyToFlux(ParameterizedTypeReference<T> typeReference)
Extract the body to aFlux
.<T> reactor.core.publisher.Mono<T>
bodyToMono(Class<? extends T> elementClass)
Extract the body to aMono
.<T> reactor.core.publisher.Mono<T>
bodyToMono(ParameterizedTypeReference<T> typeReference)
Extract the body to aMono
.MultiValueMap<String,HttpCookie>
cookies()
Get the cookies of this request.ServerWebExchange
exchange()
Get the web exchange that this request is based on.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.Optional<InetSocketAddress>
localAddress()
Get the local address to which this request is connected, if available.List<HttpMessageReader<?>>
messageReaders()
Get the readers used to convert the body of this request.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.String
path()
Get the request path.PathContainer
pathContainer()
Get the request path as aPathContainer
.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.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.Optional<InetSocketAddress>
remoteAddress()
Get the remote address to which this request is connected, if available.ServerRequest
request()
Return the wrapped request.reactor.core.publisher.Mono<WebSession>
session()
Get the web session for this request.URI
uri()
Get the request URI.UriBuilder
uriBuilder()
Get aUriBuilderComponents
from the URI associated with thisServerRequest
.从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口继承的方法 org.springframework.web.reactive.function.server.ServerRequest
checkNotModified, checkNotModified, checkNotModified
构造器详细资料
ServerRequestWrapper
public ServerRequestWrapper(ServerRequest delegate)
Create a newServerRequestWrapper
that wraps the given request.- 参数:
delegate
- the request to wrap
方法详细资料
request
public ServerRequest request()
Return the wrapped request.
method
public HttpMethod method()
从接口复制的说明:ServerRequest
Get the HTTP method.- 指定者:
method
在接口中ServerRequest
- 返回:
- the HTTP method as an HttpMethod enum value, or
null
if not resolvable (e.g. in case of a non-standard HTTP method)
methodName
public String methodName()
从接口复制的说明:ServerRequest
Get the name of the HTTP method.- 指定者:
methodName
在接口中ServerRequest
- 返回:
- the HTTP method as a String
uri
public URI uri()
从接口复制的说明:ServerRequest
Get the request URI.- 指定者:
uri
在接口中ServerRequest
uriBuilder
public UriBuilder uriBuilder()
从接口复制的说明:ServerRequest
Get aUriBuilderComponents
from the URI associated with thisServerRequest
.Note: as of 5.1 this method ignores
"Forwarded"
and"X-Forwarded-*"
headers that specify the client-originated address. Consider using theForwardedHeaderFilter
to extract and use, or to discard such headers.- 指定者:
uriBuilder
在接口中ServerRequest
- 返回:
- a URI builder
path
public String path()
从接口复制的说明:ServerRequest
Get the request path.- 指定者:
path
在接口中ServerRequest
pathContainer
public PathContainer pathContainer()
从接口复制的说明:ServerRequest
Get the request path as aPathContainer
.- 指定者:
pathContainer
在接口中ServerRequest
headers
public ServerRequest.Headers headers()
从接口复制的说明:ServerRequest
Get the headers of this request.- 指定者:
headers
在接口中ServerRequest
cookies
public MultiValueMap<String,HttpCookie> cookies()
从接口复制的说明:ServerRequest
Get the cookies of this request.- 指定者:
cookies
在接口中ServerRequest
remoteAddress
public Optional<InetSocketAddress> remoteAddress()
从接口复制的说明:ServerRequest
Get the remote address to which this request is connected, if available.- 指定者:
remoteAddress
在接口中ServerRequest
localAddress
public Optional<InetSocketAddress> localAddress()
从接口复制的说明:ServerRequest
Get the local address to which this request is connected, if available.- 指定者:
localAddress
在接口中ServerRequest
messageReaders
public List<HttpMessageReader<?>> messageReaders()
从接口复制的说明:ServerRequest
Get the readers used to convert the body of this request.- 指定者:
messageReaders
在接口中ServerRequest
body
public <T> T body(BodyExtractor<T,? super ServerHttpRequest> extractor)
从接口复制的说明:ServerRequest
Extract the body with the givenBodyExtractor
.- 指定者:
body
在接口中ServerRequest
- 类型参数:
T
- the type of the body returned- 参数:
extractor
- theBodyExtractor
that reads from the request- 返回:
- the extracted body
- 另请参阅:
ServerRequest.body(BodyExtractor, Map)
body
public <T> T body(BodyExtractor<T,? super ServerHttpRequest> extractor, Map<String,Object> hints)
从接口复制的说明:ServerRequest
Extract the body with the givenBodyExtractor
and hints.- 指定者:
body
在接口中ServerRequest
- 类型参数:
T
- the type of the body returned- 参数:
extractor
- theBodyExtractor
that reads from the requesthints
- the map of hints likeJackson2CodecSupport.JSON_VIEW_HINT
to use to customize body extraction- 返回:
- the extracted body
bodyToMono
public <T> reactor.core.publisher.Mono<T> bodyToMono(Class<? extends T> elementClass)
从接口复制的说明:ServerRequest
Extract the body to aMono
.- 指定者:
bodyToMono
在接口中ServerRequest
- 类型参数:
T
- the element type- 参数:
elementClass
- the class of element in theMono
- 返回:
- the body as a mono
bodyToMono
public <T> reactor.core.publisher.Mono<T> bodyToMono(ParameterizedTypeReference<T> typeReference)
从接口复制的说明:ServerRequest
Extract the body to aMono
.- 指定者:
bodyToMono
在接口中ServerRequest
- 类型参数:
T
- the element type- 参数:
typeReference
- a type reference describing the expected response request type- 返回:
- a mono containing the body of the given type
T
bodyToFlux
public <T> reactor.core.publisher.Flux<T> bodyToFlux(Class<? extends T> elementClass)
从接口复制的说明:ServerRequest
Extract the body to aFlux
.- 指定者:
bodyToFlux
在接口中ServerRequest
- 类型参数:
T
- the element type- 参数:
elementClass
- the class of element in theFlux
- 返回:
- the body as a flux
bodyToFlux
public <T> reactor.core.publisher.Flux<T> bodyToFlux(ParameterizedTypeReference<T> typeReference)
从接口复制的说明:ServerRequest
Extract the body to aFlux
.- 指定者:
bodyToFlux
在接口中ServerRequest
- 类型参数:
T
- the element type- 参数:
typeReference
- a type reference describing the expected request body type- 返回:
- a flux containing the body of the given type
T
attribute
public Optional<Object> attribute(String name)
从接口复制的说明:ServerRequest
Get the request attribute value if present.- 指定者:
attribute
在接口中ServerRequest
- 参数:
name
- the attribute name- 返回:
- the attribute value
attributes
public Map<String,Object> attributes()
从接口复制的说明:ServerRequest
Get a mutable map of request attributes.- 指定者:
attributes
在接口中ServerRequest
- 返回:
- the request attributes
queryParam
public Optional<String> queryParam(String name)
从接口复制的说明:ServerRequest
Get the first query parameter with the given name, if present.- 指定者:
queryParam
在接口中ServerRequest
- 参数:
name
- the parameter name- 返回:
- the parameter value
queryParams
public MultiValueMap<String,String> queryParams()
从接口复制的说明:ServerRequest
Get all query parameters for this request.- 指定者:
queryParams
在接口中ServerRequest
pathVariable
public String pathVariable(String name)
从接口复制的说明:ServerRequest
Get the path variable with the given name, if present.- 指定者:
pathVariable
在接口中ServerRequest
- 参数:
name
- the variable name- 返回:
- the variable value
pathVariables
public Map<String,String> pathVariables()
从接口复制的说明:ServerRequest
Get all path variables for this request.- 指定者:
pathVariables
在接口中ServerRequest
session
public reactor.core.publisher.Mono<WebSession> session()
从接口复制的说明:ServerRequest
Get the web session for this request.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.
- 指定者:
session
在接口中ServerRequest
principal
public reactor.core.publisher.Mono<? extends Principal> principal()
从接口复制的说明:ServerRequest
Get the authenticated user for the request, if any.- 指定者:
principal
在接口中ServerRequest
formData
public reactor.core.publisher.Mono<MultiValueMap<String,String>> formData()
从接口复制的说明:ServerRequest
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.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.- 指定者:
formData
在接口中ServerRequest
multipartData
public reactor.core.publisher.Mono<MultiValueMap<String,Part>> multipartData()
从接口复制的说明:ServerRequest
Get the parts of a multipart request if the Content-Type is"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.- 指定者:
multipartData
在接口中ServerRequest
exchange
public ServerWebExchange exchange()
从接口复制的说明:ServerRequest
Get the web exchange that this request is based on.Note: Manipulating the exchange directly (instead of using the methods provided on
ServerRequest
andServerResponse
) can lead to irregular results.- 指定者:
exchange
在接口中ServerRequest