org.springframework.web.method.annotation
Class RequestParamMapMethodArgumentResolver

java.lang.Object
  extended by org.springframework.web.method.annotation.RequestParamMapMethodArgumentResolver
All Implemented Interfaces:
HandlerMethodArgumentResolver

public class RequestParamMapMethodArgumentResolver
extends Object
implements HandlerMethodArgumentResolver

Resolves Map method arguments annotated with an @RequestParam where the annotation does not specify a request parameter name. See RequestParamMethodArgumentResolver for resolving Map method arguments with a request parameter name.

The created Map contains all request parameter name/value pairs. If the method parameter type is MultiValueMap instead, the created map contains all request parameters and all there values for cases where request parameters have multiple values.

Since:
3.1
Author:
Arjen Poutsma, Rossen Stoyanchev
See Also:
RequestParamMethodArgumentResolver

Constructor Summary
RequestParamMapMethodArgumentResolver()
           
 
Method Summary
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 interface HandlerMethodArgumentResolver
Parameters:
parameter - the method parameter to check
Returns:
true if this resolver supports the supplied parameter; false otherwise

resolveArgument

public Object resolveArgument(MethodParameter parameter,
                              ModelAndViewContainer mavContainer,
                              NativeWebRequest webRequest,
                              WebDataBinderFactory binderFactory)
                       throws Exception
Description copied from interface: HandlerMethodArgumentResolver
Resolves a method parameter into an argument value from a given request. A ModelAndViewContainer provides access to the model for the request. A WebDataBinderFactory provides a way to create a WebDataBinder instance when needed for data binding and type conversion purposes.

Specified by:
resolveArgument in interface HandlerMethodArgumentResolver
Parameters:
parameter - the method parameter to resolve. This parameter must have previously been passed to HandlerMethodArgumentResolver.supportsParameter(org.springframework.core.MethodParameter) and it must have returned true
mavContainer - the ModelAndViewContainer for the current request
webRequest - the current request
binderFactory - a factory for creating WebDataBinder instances
Returns:
the resolved argument value, or null.
Throws:
Exception - in case of errors with the preparation of argument values