public class MapMethodProcessor extends Object implements HandlerMethodArgumentResolver, HandlerMethodReturnValueHandler
Map method arguments and handles Map return values.
 A Map return value can be interpreted in more than one ways depending
 on the presence of annotations like @ModelAttribute or
 @ResponseBody. Therefore this handler should be configured after
 the handlers that support these annotations.
| Constructor and Description | 
|---|
| MapMethodProcessor() | 
| Modifier and Type | Method and Description | 
|---|---|
| void | handleReturnValue(Object returnValue,
                 MethodParameter returnType,
                 ModelAndViewContainer mavContainer,
                 NativeWebRequest webRequest)Handle the given return value by adding attributes to the model and
 setting a view or setting the
  ModelAndViewContainer.setRequestHandled(boolean)flag totrueto indicate the response has been handled directly. | 
| 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. | 
| boolean | supportsReturnType(MethodParameter returnType)Whether the given method return type is
 supported by this handler. | 
public boolean supportsParameter(MethodParameter parameter)
HandlerMethodArgumentResolversupportsParameter in interface HandlerMethodArgumentResolverparameter - the method parameter to checktrue if this resolver supports the supplied parameter;
 false otherwisepublic Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception
HandlerMethodArgumentResolverModelAndViewContainer 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.resolveArgument in interface HandlerMethodArgumentResolverparameter - the method parameter to resolve. This parameter must
 have previously been passed to
 HandlerMethodArgumentResolver.supportsParameter(org.springframework.core.MethodParameter)
 and it must have returned truemavContainer - the ModelAndViewContainer for the current requestwebRequest - the current requestbinderFactory - a factory for creating WebDataBinder instancesnull.Exception - in case of errors with the preparation of argument valuespublic boolean supportsReturnType(MethodParameter returnType)
HandlerMethodReturnValueHandlersupportsReturnType in interface HandlerMethodReturnValueHandlerreturnType - the method return type to checktrue if this handler supports the supplied return type;
 false otherwisepublic void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception
HandlerMethodReturnValueHandlerModelAndViewContainer.setRequestHandled(boolean) flag to true
 to indicate the response has been handled directly.handleReturnValue in interface HandlerMethodReturnValueHandlerreturnValue - the value returned from the handler methodreturnType - the type of the return value. This type must have
 previously been passed to
 HandlerMethodReturnValueHandler.supportsReturnType(org.springframework.core.MethodParameter)
 and it must have returned truemavContainer - the ModelAndViewContainer for the current requestwebRequest - the current requestException - if the return value handling results in an error