Class ExpressionValueMethodArgumentResolver
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.ExpressionValueMethodArgumentResolver
- All Implemented Interfaces:
 HandlerMethodArgumentResolver,SyncHandlerMethodArgumentResolver
Resolves method arguments annotated with 
@Value.
 An @Value does not have a name but gets resolved from the default
 value string, which may contain ${...} placeholder or Spring Expression
 Language #{...} expressions.
- Since:
 - 5.0
 - Author:
 - Rossen Stoyanchev
 
- 
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.web.reactive.result.method.annotation.AbstractNamedValueArgumentResolver
AbstractNamedValueArgumentResolver.NamedValueInfo - 
Field Summary
Fields inherited from class org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupport
logger - 
Constructor Summary
ConstructorsConstructorDescriptionExpressionValueMethodArgumentResolver(ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry) Create a newExpressionValueMethodArgumentResolverinstance. - 
Method Summary
Modifier 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 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.AbstractNamedValueSyncArgumentResolver
resolveArgument, resolveArgumentValue, resolveNameMethods inherited from class org.springframework.web.reactive.result.method.annotation.AbstractNamedValueArgumentResolver
handleMissingValue, handleResolvedValueMethods inherited from class org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupport
checkAnnotatedParamNoReactiveWrapper, checkParameterType, checkParameterTypeNoReactiveWrapper, getAdapterRegistry 
- 
Constructor Details
- 
ExpressionValueMethodArgumentResolver
public ExpressionValueMethodArgumentResolver(@Nullable ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry) Create a newExpressionValueMethodArgumentResolverinstance.- Parameters:
 factory- a bean factory to use for resolving${...}placeholder and#{...}SpEL expressions in default values; ornullif default values are not expected to contain expressionsregistry- for checking reactive type wrappers
 
 - 
 - 
Method Details
- 
supportsParameter
Description copied from interface:HandlerMethodArgumentResolverWhether this resolver supports the given method parameter.- Parameters:
 param- the method parameter
 - 
createNamedValueInfo
protected 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 classAbstractNamedValueArgumentResolver- Parameters:
 parameter- the method parameter- Returns:
 - the named value information
 
 - 
resolveNamedValue
protected Object resolveNamedValue(String name, MethodParameter parameter, ServerWebExchange exchange) Description copied from class:AbstractNamedValueSyncArgumentResolverActually resolve the value synchronously.- Specified by:
 resolveNamedValuein classAbstractNamedValueSyncArgumentResolver
 - 
handleMissingValue
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 classAbstractNamedValueArgumentResolver- Parameters:
 name- the name for the valueparameter- the method parameter
 
 -