Class MatrixVariableMapMethodArgumentResolver
java.lang.Object
org.springframework.web.servlet.mvc.method.annotation.MatrixVariableMapMethodArgumentResolver
- All Implemented Interfaces:
HandlerMethodArgumentResolver
public class MatrixVariableMapMethodArgumentResolver
extends Object
implements HandlerMethodArgumentResolver
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.
- Since:
- 3.2
- Author:
- Rossen Stoyanchev
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionresolveArgument
(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest request, WebDataBinderFactory binderFactory) Resolves a method parameter into an argument value from a given request.boolean
supportsParameter
(MethodParameter parameter) Whether the given method parameter is supported by this resolver.
-
Constructor Details
-
MatrixVariableMapMethodArgumentResolver
public MatrixVariableMapMethodArgumentResolver()
-
-
Method Details
-
supportsParameter
Description copied from interface:HandlerMethodArgumentResolver
Whether the given method parameter is supported by this resolver.- Specified by:
supportsParameter
in interfaceHandlerMethodArgumentResolver
- Parameters:
parameter
- the method parameter to check- Returns:
true
if this resolver supports the supplied parameter;false
otherwise
-
resolveArgument
@Nullable public Object resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest request, @Nullable WebDataBinderFactory binderFactory) throws Exception Description copied from interface:HandlerMethodArgumentResolver
Resolves a method parameter into an argument value from a given request. AModelAndViewContainer
provides access to the model for the request. AWebDataBinderFactory
provides a way to create aWebDataBinder
instance when needed for data binding and type conversion purposes.- Specified by:
resolveArgument
in interfaceHandlerMethodArgumentResolver
- Parameters:
parameter
- the method parameter to resolve. This parameter must have previously been passed toHandlerMethodArgumentResolver.supportsParameter(org.springframework.core.MethodParameter)
which must have returnedtrue
.mavContainer
- the ModelAndViewContainer for the current requestrequest
- the current requestbinderFactory
- a factory for creatingWebDataBinder
instances- Returns:
- the resolved argument value, or
null
if not resolvable - Throws:
Exception
- in case of errors with the preparation of argument values
-