org.springframework.web.servlet.mvc.method.annotation

## 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 request-related method argument values of the following types:

- `WebRequest`
- `ServletRequest`
- `MultipartRequest`
- `HttpSession`
- `Principal`
- `Locale`
- `InputStream`
- `Reader`

Since:
  3.1
Author:
  Arjen Poutsma, Rossen Stoyanchev

### Constructor Summary

Constructors
Constructor and Description
`ServletRequestMethodArgumentResolver()`

### Method Summary

Methods
`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

#### ServletRequestMethodArgumentResolver

    public ServletRequestMethodArgumentResolver()

### 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 IOException

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:
  `IOException`