public class ExpressionValueMethodArgumentResolver extends AbstractNamedValueSyncArgumentResolver
@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.
AbstractNamedValueArgumentResolver.NamedValueInfologger| Constructor and Description |
|---|
ExpressionValueMethodArgumentResolver(ConfigurableBeanFactory factory,
ReactiveAdapterRegistry registry)
Create a new
ExpressionValueMethodArgumentResolver instance. |
| Modifier and Type | Method and Description |
|---|---|
protected AbstractNamedValueArgumentResolver.NamedValueInfo |
createNamedValueInfo(MethodParameter parameter)
Create the
AbstractNamedValueArgumentResolver.NamedValueInfo object for the given method parameter. |
protected void |
handleMissingValue(String name,
MethodParameter parameter)
Invoked when a named value is required, but
AbstractNamedValueArgumentResolver.resolveName(String, MethodParameter, ServerWebExchange) returned
null and there is no default value. |
protected Object |
resolveNamedValue(String name,
MethodParameter parameter,
ServerWebExchange exchange)
Actually resolve the value synchronously.
|
boolean |
supportsParameter(MethodParameter param)
Whether this resolver supports the given method parameter.
|
resolveArgument, resolveArgumentValue, resolveNamehandleMissingValue, handleResolvedValuecheckAnnotatedParamNoReactiveWrapper, checkParameterType, checkParameterTypeNoReactiveWrapper, getAdapterRegistrypublic ExpressionValueMethodArgumentResolver(@Nullable ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry)
ExpressionValueMethodArgumentResolver instance.factory - a bean factory to use for resolving ${...}
placeholder and #{...} SpEL expressions in default values;
or null if default values are not expected to contain expressionsregistry - for checking reactive type wrapperspublic boolean supportsParameter(MethodParameter param)
HandlerMethodArgumentResolverparam - the method parameterprotected AbstractNamedValueArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter)
AbstractNamedValueArgumentResolverAbstractNamedValueArgumentResolver.NamedValueInfo object for the given method parameter.
Implementations typically retrieve the method annotation by means of
MethodParameter.getParameterAnnotation(Class).createNamedValueInfo in class AbstractNamedValueArgumentResolverparameter - the method parameterprotected Object resolveNamedValue(String name, MethodParameter parameter, ServerWebExchange exchange)
AbstractNamedValueSyncArgumentResolverresolveNamedValue in class AbstractNamedValueSyncArgumentResolverprotected void handleMissingValue(String name, MethodParameter parameter)
AbstractNamedValueArgumentResolverAbstractNamedValueArgumentResolver.resolveName(String, MethodParameter, ServerWebExchange) returned
null and there is no default value. Subclasses typically throw an
exception in this case.handleMissingValue in class AbstractNamedValueArgumentResolvername - the name for the valueparameter - the method parameter