Class PathVariableMethodArgumentResolver
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.PathVariableMethodArgumentResolver
- All Implemented Interfaces:
- HandlerMethodArgumentResolver,- SyncHandlerMethodArgumentResolver
Resolves method arguments annotated with @
PathVariable.
 An @PathVariable is a named value that gets resolved from a URI
 template variable. It is always required and does not have a default value
 to fall back on. See the base class
 AbstractNamedValueMethodArgumentResolver
 for more information on how named values are processed.
 
If the method parameter type is Map, the name specified in the
 annotation is used to resolve the URI variable String value. The value is
 then converted to a Map via type conversion, assuming a suitable
 Converter.
- Since:
- 5.0
- Author:
- Rossen Stoyanchev, Juergen Hoeller
- 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 SummaryConstructorsConstructorDescriptionPathVariableMethodArgumentResolver(ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry) Create a newPathVariableMethodArgumentResolver.
- 
Method SummaryModifier and TypeMethodDescriptioncreateNamedValueInfo(MethodParameter parameter) Create theAbstractNamedValueArgumentResolver.NamedValueInfoobject for the given method parameter.protected voidhandleMissingValue(String name, MethodParameter parameter) Invoked when a named value is required, butAbstractNamedValueArgumentResolver.resolveName(String, MethodParameter, ServerWebExchange)returnednulland there is no default value.protected voidhandleResolvedValue(Object arg, String name, MethodParameter parameter, Model model, ServerWebExchange exchange) Invoked after a value is resolved.protected ObjectresolveNamedValue(String name, MethodParameter parameter, ServerWebExchange exchange) Actually resolve the value synchronously.booleansupportsParameter(MethodParameter parameter) 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.AbstractNamedValueArgumentResolverhandleMissingValueMethods inherited from class org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupportcheckAnnotatedParamNoReactiveWrapper, checkParameterType, checkParameterTypeNoReactiveWrapper, getAdapterRegistry
- 
Constructor Details- 
PathVariableMethodArgumentResolverpublic PathVariableMethodArgumentResolver(@Nullable ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry) Create a newPathVariableMethodArgumentResolver.- Parameters:
- factory- a bean factory to use 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
 
 
- 
- 
Method Details- 
supportsParameterDescription copied from interface:HandlerMethodArgumentResolverWhether this resolver supports the given method parameter.- Parameters:
- parameter- 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
 
- 
handleMissingValueDescription 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
 
- 
handleResolvedValueprotected void handleResolvedValue(@Nullable Object arg, String name, MethodParameter parameter, Model model, ServerWebExchange exchange) Description copied from class:AbstractNamedValueArgumentResolverInvoked after a value is resolved.- Overrides:
- handleResolvedValuein class- AbstractNamedValueArgumentResolver
- Parameters:
- arg- the resolved argument value
- name- the argument name
- parameter- the argument parameter type
- model- the model
- exchange- the current exchange
 
 
-