Class MapMethodProcessor
java.lang.Object
org.springframework.web.method.annotation.MapMethodProcessor
- All Implemented Interfaces:
HandlerMethodArgumentResolver
,HandlerMethodReturnValueHandler
public class MapMethodProcessor
extends Object
implements HandlerMethodArgumentResolver, HandlerMethodReturnValueHandler
Resolves
Map
method arguments and handles Map
return values.
A Map return value can be interpreted in more than one way depending
on the presence of annotations like @ModelAttribute
or
@ResponseBody
. As of 5.2 this resolver returns false if the
parameter is annotated.
- Since:
- 3.1
- Author:
- Rossen Stoyanchev
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
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 theModelAndViewContainer.setRequestHandled(boolean)
flag totrue
to indicate the response has been handled directly.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.
-
Constructor Details
-
MapMethodProcessor
public MapMethodProcessor()
-
-
Method Details
-
supportsParameter
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
@Nullable 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
-
supportsReturnType
Description copied from interface:HandlerMethodReturnValueHandler
Whether the given method return type is supported by this handler.- Specified by:
supportsReturnType
in interfaceHandlerMethodReturnValueHandler
- Parameters:
returnType
- the method return type to check- Returns:
true
if this handler supports the supplied return type;false
otherwise
-
handleReturnValue
public void handleReturnValue(@Nullable Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception Description copied from interface:HandlerMethodReturnValueHandler
Handle the given return value by adding attributes to the model and setting a view or setting theModelAndViewContainer.setRequestHandled(boolean)
flag totrue
to indicate the response has been handled directly.- Specified by:
handleReturnValue
in 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
-