Class MatrixVariableMethodArgumentResolver
java.lang.Object
org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
org.springframework.web.servlet.mvc.method.annotation.MatrixVariableMethodArgumentResolver
- All Implemented Interfaces:
HandlerMethodArgumentResolver
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:
- 3.2
- Author:
- Rossen Stoyanchev, Sam Brannen
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
AbstractNamedValueMethodArgumentResolver.NamedValueInfo
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncreateNamedValueInfo
(MethodParameter parameter) Create theAbstractNamedValueMethodArgumentResolver.NamedValueInfo
object for the given method parameter.protected void
handleMissingValue
(String name, MethodParameter parameter) Invoked when a named value is required, butAbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)
returnednull
and there is no default value.protected void
handleMissingValueAfterConversion
(String name, MethodParameter parameter, NativeWebRequest request) Invoked when a named value is present but becomesnull
after conversion.protected Object
resolveName
(String name, MethodParameter parameter, NativeWebRequest request) Resolve the given parameter type and value name into an argument value.boolean
supportsParameter
(MethodParameter parameter) Whether the given method parameter is supported by this resolver.Methods inherited from class org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
handleMissingValue, handleResolvedValue, resolveArgument
-
Constructor Details
-
MatrixVariableMethodArgumentResolver
public MatrixVariableMethodArgumentResolver()
-
-
Method Details
-
supportsParameter
Description copied from interface:HandlerMethodArgumentResolver
Whether the given method parameter is supported by this resolver.- Parameters:
parameter
- the method parameter to check- Returns:
true
if this resolver supports the supplied parameter;false
otherwise
-
createNamedValueInfo
protected AbstractNamedValueMethodArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter) Description copied from class:AbstractNamedValueMethodArgumentResolver
Create theAbstractNamedValueMethodArgumentResolver.NamedValueInfo
object for the given method parameter. Implementations typically retrieve the method annotation by means ofMethodParameter.getParameterAnnotation(Class)
.- Specified by:
createNamedValueInfo
in classAbstractNamedValueMethodArgumentResolver
- Parameters:
parameter
- the method parameter- Returns:
- the named value information
-
resolveName
@Nullable protected Object resolveName(String name, MethodParameter parameter, NativeWebRequest request) throws Exception Description copied from class:AbstractNamedValueMethodArgumentResolver
Resolve the given parameter type and value name into an argument value.- Specified by:
resolveName
in classAbstractNamedValueMethodArgumentResolver
- Parameters:
name
- the name of the value being resolvedparameter
- the method parameter to resolve to an argument value (pre-nested in case of aOptional
declaration)request
- the current request- Returns:
- the resolved argument (may be
null
) - Throws:
Exception
- in case of errors
-
handleMissingValue
protected void handleMissingValue(String name, MethodParameter parameter) throws ServletRequestBindingException Description copied from class:AbstractNamedValueMethodArgumentResolver
Invoked when a named value is required, butAbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)
returnednull
and there is no default value. Subclasses typically throw an exception in this case.- Overrides:
handleMissingValue
in classAbstractNamedValueMethodArgumentResolver
- Parameters:
name
- the name for the valueparameter
- the method parameter- Throws:
ServletRequestBindingException
-
handleMissingValueAfterConversion
protected void handleMissingValueAfterConversion(String name, MethodParameter parameter, NativeWebRequest request) throws Exception Description copied from class:AbstractNamedValueMethodArgumentResolver
Invoked when a named value is present but becomesnull
after conversion.- Overrides:
handleMissingValueAfterConversion
in classAbstractNamedValueMethodArgumentResolver
- Parameters:
name
- the name for the valueparameter
- the method parameterrequest
- the current request- Throws:
Exception
-