public class RequestParamMethodArgumentResolver extends AbstractNamedValueMethodArgumentResolver implements UriComponentsContributor
RequestParam, arguments of
 type MultipartFile in conjunction with Spring's MultipartResolver
 abstraction, and arguments of type javax.servlet.http.Part in conjunction
 with Servlet 3.0 multipart requests. This resolver can also be created in default
 resolution mode in which simple types (int, long, etc.) not annotated with
 @RequestParam are also treated as request parameters with
 the parameter name derived from the argument name.
 If the method parameter type is Map, the name specified in the
 annotation is used to resolve the request parameter String value. The value is
 then converted to a Map via type conversion assuming a suitable
 Converter or PropertyEditor has been registered.
 Or if a request parameter name is not specified the
 RequestParamMapMethodArgumentResolver is used instead to provide
 access to all request parameters in the form of a map.
 
A WebDataBinder is invoked to apply type conversion to resolved request
 header values that don't yet match the method parameter type.
RequestParamMapMethodArgumentResolverAbstractNamedValueMethodArgumentResolver.NamedValueInfo| Constructor and Description | 
|---|
| RequestParamMethodArgumentResolver(boolean useDefaultResolution)Create a new  RequestParamMethodArgumentResolverinstance. | 
| RequestParamMethodArgumentResolver(ConfigurableBeanFactory beanFactory,
                                  boolean useDefaultResolution)Create a new  RequestParamMethodArgumentResolverinstance. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | contributeMethodArgument(MethodParameter parameter,
                        Object value,
                        UriComponentsBuilder builder,
                        Map<String,Object> uriVariables,
                        ConversionService conversionService)Process the given method argument and either update the
  UriComponentsBuilderor add to the map with URI variables
 to use to expand the URI after all arguments are processed. | 
| protected AbstractNamedValueMethodArgumentResolver.NamedValueInfo | createNamedValueInfo(MethodParameter parameter)Create the  AbstractNamedValueMethodArgumentResolver.NamedValueInfoobject for the given method parameter. | 
| protected String | formatUriValue(ConversionService cs,
              TypeDescriptor sourceType,
              Object value) | 
| protected void | handleMissingValue(String name,
                  MethodParameter parameter,
                  NativeWebRequest request)Invoked when a named value is required, but  AbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)returnednulland there is no default value. | 
| protected Object | resolveName(String name,
           MethodParameter parameter,
           NativeWebRequest request)Resolve the given parameter type and value name into an argument value. | 
| boolean | supportsParameter(MethodParameter parameter)Supports the following:
 
 @RequestParam-annotated method arguments. | 
handleMissingValue, handleResolvedValue, resolveArgumentpublic RequestParamMethodArgumentResolver(boolean useDefaultResolution)
RequestParamMethodArgumentResolver instance.useDefaultResolution - in default resolution mode a method argument
 that is a simple type, as defined in BeanUtils.isSimpleProperty(java.lang.Class<?>),
 is treated as a request parameter even if it isn't annotated, the
 request parameter name is derived from the method parameter name.public RequestParamMethodArgumentResolver(@Nullable ConfigurableBeanFactory beanFactory, boolean useDefaultResolution)
RequestParamMethodArgumentResolver instance.beanFactory - a bean factory used for resolving  ${...} placeholder
 and #{...} SpEL expressions in default values, or null if default
 values are not expected to contain expressionsuseDefaultResolution - in default resolution mode a method argument
 that is a simple type, as defined in BeanUtils.isSimpleProperty(java.lang.Class<?>),
 is treated as a request parameter even if it isn't annotated, the
 request parameter name is derived from the method parameter name.public boolean supportsParameter(MethodParameter parameter)
Map params where the annotation does not specify a name.
 See RequestParamMapMethodArgumentResolver instead for such params.
 MultipartFile unless annotated with @RequestPart.
 Part unless annotated with @RequestPart.
 RequestParam.
 supportsParameter in interface HandlerMethodArgumentResolversupportsParameter in interface UriComponentsContributorparameter - the method parameter to checktrue if this resolver supports the supplied parameter;
 false otherwiseprotected AbstractNamedValueMethodArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter)
AbstractNamedValueMethodArgumentResolverAbstractNamedValueMethodArgumentResolver.NamedValueInfo object for the given method parameter. Implementations typically
 retrieve the method annotation by means of MethodParameter.getParameterAnnotation(Class).createNamedValueInfo in class AbstractNamedValueMethodArgumentResolverparameter - the method parameter@Nullable protected Object resolveName(String name, MethodParameter parameter, NativeWebRequest request) throws Exception
AbstractNamedValueMethodArgumentResolverresolveName in class AbstractNamedValueMethodArgumentResolvername - the name of the value being resolvedparameter - the method parameter to resolve to an argument value
 (pre-nested in case of a Optional declaration)request - the current requestnull)Exception - in case of errorsprotected void handleMissingValue(String name, MethodParameter parameter, NativeWebRequest request) throws Exception
AbstractNamedValueMethodArgumentResolverAbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)
 returned null and there is no default value. Subclasses typically throw an exception in this case.handleMissingValue in class AbstractNamedValueMethodArgumentResolvername - the name for the valueparameter - the method parameterrequest - the current requestExceptionpublic void contributeMethodArgument(MethodParameter parameter, @Nullable Object value, UriComponentsBuilder builder, Map<String,Object> uriVariables, ConversionService conversionService)
UriComponentsContributorUriComponentsBuilder or add to the map with URI variables
 to use to expand the URI after all arguments are processed.contributeMethodArgument in interface UriComponentsContributorparameter - the controller method parameter (never null)value - the argument value (possibly null)builder - the builder to update (never null)uriVariables - a map to add URI variables to (never null)conversionService - a ConversionService to format values as Strings@Nullable protected String formatUriValue(@Nullable ConversionService cs, @Nullable TypeDescriptor sourceType, @Nullable Object value)