Class RequestParamMethodArgumentResolver
java.lang.Object
org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupport
org.springframework.web.reactive.result.method.annotation.AbstractNamedValueArgumentResolver
org.springframework.web.reactive.result.method.annotation.AbstractNamedValueSyncArgumentResolver
org.springframework.web.reactive.result.method.annotation.RequestParamMethodArgumentResolver
- All Implemented Interfaces:
- HandlerMethodArgumentResolver,- SyncHandlerMethodArgumentResolver
Resolver for method arguments annotated with @
RequestParam from URI
 query string parameters.
 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 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.
- Since:
- 5.0
- Author:
- Rossen Stoyanchev
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from class org.springframework.web.reactive.result.method.annotation.AbstractNamedValueArgumentResolverAbstractNamedValueArgumentResolver.NamedValueInfo
- 
Field SummaryFields inherited from class org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupportlogger
- 
Constructor SummaryConstructorsConstructorDescriptionRequestParamMethodArgumentResolver(ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry, boolean useDefaultResolution) Class constructor with a default resolution mode flag.
- 
Method SummaryModifier and TypeMethodDescriptioncreateNamedValueInfo(MethodParameter parameter) Create theAbstractNamedValueArgumentResolver.NamedValueInfoobject for the given method parameter.protected voidhandleMissingValue(String name, MethodParameter parameter, ServerWebExchange exchange) Invoked when a named value is required, butAbstractNamedValueArgumentResolver.resolveName(String, MethodParameter, ServerWebExchange)returnednulland there is no default value.protected ObjectresolveNamedValue(String name, MethodParameter parameter, ServerWebExchange exchange) Actually resolve the value synchronously.booleansupportsParameter(MethodParameter param) Whether this resolver supports the given method parameter.Methods inherited from class org.springframework.web.reactive.result.method.annotation.AbstractNamedValueSyncArgumentResolverresolveArgument, resolveArgumentValue, resolveNameMethods inherited from class org.springframework.web.reactive.result.method.annotation.AbstractNamedValueArgumentResolverhandleMissingValue, handleResolvedValueMethods inherited from class org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupportcheckAnnotatedParamNoReactiveWrapper, checkParameterType, checkParameterTypeNoReactiveWrapper, getAdapterRegistry
- 
Constructor Details- 
RequestParamMethodArgumentResolverpublic RequestParamMethodArgumentResolver(@Nullable ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry, boolean useDefaultResolution) Class constructor with a default resolution mode flag.- Parameters:
- factory- a bean factory used for resolving ${...} placeholder and #{...} SpEL expressions in default values, or- nullif default values are not expected to contain expressions
- registry- for checking reactive type wrappers
- 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.
 
 
- 
- 
Method Details- 
supportsParameterDescription copied from interface:HandlerMethodArgumentResolverWhether this resolver supports the given method parameter.- Parameters:
- param- the method parameter
 
- 
createNamedValueInfoprotected AbstractNamedValueArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter) Description copied from class:AbstractNamedValueArgumentResolverCreate theAbstractNamedValueArgumentResolver.NamedValueInfoobject for the given method parameter. Implementations typically retrieve the method annotation by means ofMethodParameter.getParameterAnnotation(Class).- Specified by:
- createNamedValueInfoin class- AbstractNamedValueArgumentResolver
- Parameters:
- parameter- the method parameter
- Returns:
- the named value information
 
- 
resolveNamedValueprotected Object resolveNamedValue(String name, MethodParameter parameter, ServerWebExchange exchange) Description copied from class:AbstractNamedValueSyncArgumentResolverActually resolve the value synchronously.- Specified by:
- resolveNamedValuein class- AbstractNamedValueSyncArgumentResolver
 
- 
handleMissingValueprotected void handleMissingValue(String name, MethodParameter parameter, ServerWebExchange exchange) Description copied from class:AbstractNamedValueArgumentResolverInvoked when a named value is required, butAbstractNamedValueArgumentResolver.resolveName(String, MethodParameter, ServerWebExchange)returnednulland there is no default value. Subclasses typically throw an exception in this case.- Overrides:
- handleMissingValuein class- AbstractNamedValueArgumentResolver
- Parameters:
- name- the name for the value
- parameter- the method parameter
- exchange- the current exchange
 
 
-