Class MapMethodProcessor
- java.lang.Object
- org.springframework.web.method.annotation.MapMethodProcessor
- All Implemented Interfaces:
HandlerMethodArgumentResolver,HandlerMethodReturnValueHandler
public class MapMethodProcessor extends Object implements HandlerMethodArgumentResolver, HandlerMethodReturnValueHandler
ResolvesMapmethod arguments and handlesMapreturn values.A Map return value can be interpreted in more than one ways depending on the presence of annotations like
@ModelAttributeor@ResponseBody. Therefore this handler should be configured after the handlers that support these annotations.- Since:
- 3.1
- Author:
- Rossen Stoyanchev
Constructor Summary
Constructors Constructor Description MapMethodProcessor()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidhandleReturnValue(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 theModelAndViewContainer.setRequestHandled(boolean)flag totrueto indicate the response has been handled directly.ObjectresolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory)Resolves a method parameter into an argument value from a given request.booleansupportsParameter(MethodParameter parameter)Whether the given method parameter is supported by this resolver.booleansupportsReturnType(MethodParameter returnType)Whether the given method return type is supported by this handler.
Constructor Detail
MapMethodProcessor
public MapMethodProcessor()
Method Detail
supportsParameter
public boolean supportsParameter(MethodParameter parameter)
Description copied from interface:HandlerMethodArgumentResolverWhether the given method parameter is supported by this resolver.- Specified by:
supportsParameterin interfaceHandlerMethodArgumentResolver- Parameters:
parameter- the method parameter to check- Returns:
trueif this resolver supports the supplied parameter;falseotherwise
resolveArgument
public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception
Description copied from interface:HandlerMethodArgumentResolverResolves a method parameter into an argument value from a given request. AModelAndViewContainerprovides access to the model for the request. AWebDataBinderFactoryprovides a way to create aWebDataBinderinstance when needed for data binding and type conversion purposes.- Specified by:
resolveArgumentin 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 creatingWebDataBinderinstances- Returns:
- the resolved argument value, or
null - Throws:
Exception- in case of errors with the preparation of argument values
supportsReturnType
public boolean supportsReturnType(MethodParameter returnType)
Description copied from interface:HandlerMethodReturnValueHandlerWhether the given method return type is supported by this handler.- Specified by:
supportsReturnTypein interfaceHandlerMethodReturnValueHandler- Parameters:
returnType- the method return type to check- Returns:
trueif this handler supports the supplied return type;falseotherwise
handleReturnValue
public void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception
Description copied from interface:HandlerMethodReturnValueHandlerHandle the given return value by adding attributes to the model and setting a view or setting theModelAndViewContainer.setRequestHandled(boolean)flag totrueto indicate the response has been handled directly.- Specified by:
handleReturnValuein interfaceHandlerMethodReturnValueHandler- Parameters:
returnValue- the value returned from the handler methodreturnType- the type of the return value. This type must have previously been passed toHandlerMethodReturnValueHandler.supportsReturnType(org.springframework.core.MethodParameter)which must have returnedtrue.mavContainer- the ModelAndViewContainer for the current requestwebRequest- the current request- Throws:
Exception- if the return value handling results in an error