Class RequestParamMapMethodArgumentResolver
- java.lang.Object
- org.springframework.web.method.annotation.RequestParamMapMethodArgumentResolver
- All Implemented Interfaces:
HandlerMethodArgumentResolver
public class RequestParamMapMethodArgumentResolver extends Object implements HandlerMethodArgumentResolver
ResolvesMap
method arguments annotated with an @RequestParam
where the annotation does not specify a request parameter name.The created
Map
contains all request parameter name/value pairs, or all multipart files for a given parameter name if specifically declared withMultipartFile
as the value type. If the method parameter type isMultiValueMap
instead, the created map contains all request parameters and all their values for cases where request parameters have multiple values (or multiple multipart files of the same name).- Since:
- 3.1
- Author:
- Arjen Poutsma, Rossen Stoyanchev, Juergen Hoeller
- See Also:
RequestParamMethodArgumentResolver
,ServletRequest.getParameterMap()
,MultipartRequest.getMultiFileMap()
,MultipartRequest.getFileMap()
Constructor Summary
Constructors Constructor Description RequestParamMapMethodArgumentResolver()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, 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 Detail
RequestParamMapMethodArgumentResolver
public RequestParamMapMethodArgumentResolver()
Method Detail
supportsParameter
public boolean supportsParameter(MethodParameter parameter)
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
public Object resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest webRequest, @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 requestwebRequest
- 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