Class MatrixVariableMethodArgumentResolver
java.lang.Object
org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupport
org.springframework.web.reactive.result.method.annotation.AbstractNamedValueArgumentResolver
org.springframework.web.reactive.result.method.annotation.AbstractNamedValueSyncArgumentResolver
org.springframework.web.reactive.result.method.annotation.MatrixVariableMethodArgumentResolver
- All Implemented Interfaces:
HandlerMethodArgumentResolver, SyncHandlerMethodArgumentResolver
Resolves arguments annotated with
@MatrixVariable.
If the method parameter is of type Map it will be resolved by
MatrixVariableMapMethodArgumentResolver instead unless the annotation
specifies a name in which case it is considered to be a single attribute of
type map (vs multiple attributes collected in a map).
- Since:
- 5.0.1
- Author:
- Rossen Stoyanchev
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractNamedValueArgumentResolver
AbstractNamedValueArgumentResolver.NamedValueInfo -
Field Summary
Fields inherited from class HandlerMethodArgumentResolverSupport
logger -
Constructor Summary
ConstructorsConstructorDescriptionMatrixVariableMethodArgumentResolver(@Nullable ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry) -
Method Summary
Modifier and TypeMethodDescriptioncreateNamedValueInfo(MethodParameter parameter) Create theAbstractNamedValueArgumentResolver.NamedValueInfoobject for the given method parameter.protected voidhandleMissingValue(String name, MethodParameter parameter) Invoked when a named value is required, butAbstractNamedValueArgumentResolver.resolveName(String, MethodParameter, ServerWebExchange)returnednulland there is no default value.resolveNamedValue(String name, MethodParameter param, ServerWebExchange exchange) Actually resolve the value synchronously.booleansupportsParameter(MethodParameter parameter) Whether this resolver supports the given method parameter.Methods inherited from class AbstractNamedValueSyncArgumentResolver
resolveArgument, resolveArgumentValue, resolveNameMethods inherited from class AbstractNamedValueArgumentResolver
handleMissingValue, handleResolvedValueMethods inherited from class HandlerMethodArgumentResolverSupport
checkAnnotatedParamNoReactiveWrapper, checkParameterType, checkParameterTypeNoReactiveWrapper, getAdapterRegistry
-
Constructor Details
-
MatrixVariableMethodArgumentResolver
public MatrixVariableMethodArgumentResolver(@Nullable ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry)
-
-
Method Details
-
supportsParameter
Description copied from interface:HandlerMethodArgumentResolverWhether this resolver supports the given method parameter.- Parameters:
parameter- the method parameter
-
createNamedValueInfo
protected AbstractNamedValueArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter) Description copied from class:AbstractNamedValueArgumentResolverCreate theAbstractNamedValueArgumentResolver.NamedValueInfoobject for the given method parameter. Implementations typically retrieve the method annotation by means ofMethodParameter.getParameterAnnotation(Class).- Specified by:
createNamedValueInfoin classAbstractNamedValueArgumentResolver- Parameters:
parameter- the method parameter- Returns:
- the named value information
-
resolveNamedValue
protected @Nullable Object resolveNamedValue(String name, MethodParameter param, ServerWebExchange exchange) Description copied from class:AbstractNamedValueSyncArgumentResolverActually resolve the value synchronously.- Specified by:
resolveNamedValuein classAbstractNamedValueSyncArgumentResolver
-
handleMissingValue
protected void handleMissingValue(String name, MethodParameter parameter) throws ServerWebInputException Description copied from class:AbstractNamedValueArgumentResolverInvoked when a named value is required, butAbstractNamedValueArgumentResolver.resolveName(String, MethodParameter, ServerWebExchange)returnednulland there is no default value. Subclasses typically throw an exception in this case.- Overrides:
handleMissingValuein classAbstractNamedValueArgumentResolver- Parameters:
name- the name for the valueparameter- the method parameter- Throws:
ServerWebInputException
-