Class ServletRequestMethodArgumentResolver
java.lang.Object
org.springframework.web.servlet.mvc.method.annotation.ServletRequestMethodArgumentResolver
- All Implemented Interfaces:
HandlerMethodArgumentResolver
public class ServletRequestMethodArgumentResolver
extends Object
implements HandlerMethodArgumentResolver
Resolves servlet backed request-related method arguments. Supports values of the
following types:
WebRequest
ServletRequest
MultipartRequest
HttpSession
PushBuilder
(as of Spring 5.0 on Servlet 4.0)Principal
but only if not annotated in order to allow custom resolvers to resolve it, and the falling back onPrincipalMethodArgumentResolver
.InputStream
Reader
HttpMethod
(as of Spring 4.0)Locale
TimeZone
(as of Spring 4.0)ZoneId
(as of Spring 4.0 and Java 8)
- Since:
- 3.1
- Author:
- Arjen Poutsma, Rossen Stoyanchev, Juergen Hoeller
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionresolveArgument
(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 Details
-
ServletRequestMethodArgumentResolver
public ServletRequestMethodArgumentResolver()
-
-
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
-