Top Description Fields Constructors Methods
org.springframework.web.reactive.result.method.annotation

public Class MatrixVariableMapMethodArgumentResolver

extends HandlerMethodArgumentResolverSupport
implements SyncHandlerMethodArgumentResolver
Class Inheritance
All Implemented Interfaces
org.springframework.web.reactive.result.method.SyncHandlerMethodArgumentResolver, org.springframework.web.reactive.result.method.HandlerMethodArgumentResolver
Imports
java.util.List, .Map, org.springframework.core.MethodParameter, .ReactiveAdapterRegistry, .ResolvableType, org.springframework.lang.Nullable, org.springframework.util.Assert, .CollectionUtils, .LinkedMultiValueMap, .MultiValueMap, .StringUtils, org.springframework.web.bind.annotation.MatrixVariable, .ValueConstants, org.springframework.web.reactive.BindingContext, .HandlerMapping, org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupport, .SyncHandlerMethodArgumentResolver, org.springframework.web.server.ServerWebExchange

Resolves arguments of type Map annotated with @MatrixVariable where the annotation does not specify a name. In other words the purpose of this resolver is to provide access to multiple matrix variables, either all or associated with a specific path variable.

When a name is specified, an argument of type Map is considered to be a single attribute with a Map value, and is resolved by MatrixVariableMethodArgumentResolver instead.

Author
Rossen Stoyanchev
Since
5.0.1
See Also
MatrixVariableMethodArgumentResolver

Field Summary

Inherited from org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupport:
logger

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private boolean
private MultiValueMap<String, String>
public Object
resolveArgumentValue(MethodParameter
the method parameter
parameter
,
BindingContext
the binding context to use
bindingContext
,
ServerWebExchange
the current exchange
exchange
)

Implements org.springframework.web.reactive.result.method.SyncHandlerMethodArgumentResolver.resolveArgumentValue.

Resolve the value for the method parameter synchronously.

public boolean
supportsParameter(MethodParameter
the method parameter
parameter
)

Implements org.springframework.web.reactive.result.method.HandlerMethodArgumentResolver.supportsParameter.

Whether this resolver supports the given method parameter.

Inherited from org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupport:
checkAnnotatedParamNoReactiveWrappercheckParameterTypecheckParameterTypeNoReactiveWrappergetAdapterRegistry

Constructor Detail

MatrixVariableMapMethodArgumentResolverback to summary
public MatrixVariableMapMethodArgumentResolver(ReactiveAdapterRegistry registry)

Method Detail

isSingleValueMapback to summary
private boolean isSingleValueMap(MethodParameter parameter)
mapMatrixVariablesback to summary
private MultiValueMap<String, String> mapMatrixVariables(MethodParameter parameter, Map<String, MultiValueMap<String, String>> matrixVariables)
resolveArgumentValueback to summary
public Object resolveArgumentValue(MethodParameter parameter, BindingContext bindingContext, ServerWebExchange exchange)

Implements org.springframework.web.reactive.result.method.SyncHandlerMethodArgumentResolver.resolveArgumentValue.

Doc from org.springframework.web.reactive.result.method.SyncHandlerMethodArgumentResolver.resolveArgumentValue.

Resolve the value for the method parameter synchronously.

Parameters
parameter:MethodParameter

the method parameter

bindingContext:BindingContext

the binding context to use

exchange:ServerWebExchange

the current exchange

Returns:Object

the resolved value, if any

Annotations
@Nullable
@Override
supportsParameterback to summary
public boolean supportsParameter(MethodParameter parameter)

Implements org.springframework.web.reactive.result.method.HandlerMethodArgumentResolver.supportsParameter.

Doc from org.springframework.web.reactive.result.method.HandlerMethodArgumentResolver.supportsParameter.

Whether this resolver supports the given method parameter.

Parameters
parameter:MethodParameter

the method parameter

Annotations
@Override