public class RequestHeaderMethodArgumentResolver extends AbstractNamedValueMethodArgumentResolver
@RequestHeader except for
Map arguments. See RequestHeaderMapMethodArgumentResolver for
details on Map arguments annotated with @RequestHeader.
An @RequestHeader is a named value resolved from a request header.
It has a required flag and a default value to fall back on when the request
header does not exist.
A WebDataBinder is invoked to apply type conversion to resolved
request header values that don't yet match the method parameter type.
AbstractNamedValueMethodArgumentResolver.NamedValueInfo| Constructor and Description |
|---|
RequestHeaderMethodArgumentResolver(ConfigurableBeanFactory beanFactory) |
| Modifier and Type | Method and Description |
|---|---|
protected AbstractNamedValueMethodArgumentResolver.NamedValueInfo |
createNamedValueInfo(MethodParameter parameter)
Create the
AbstractNamedValueMethodArgumentResolver.NamedValueInfo object for the given method parameter. |
protected void |
handleMissingValue(java.lang.String name,
MethodParameter parameter)
Invoked when a named value is required, but
AbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)
returned null and there is no default value. |
protected java.lang.Object |
resolveName(java.lang.String name,
MethodParameter parameter,
NativeWebRequest request)
Resolve the given parameter type and value name into an argument value.
|
boolean |
supportsParameter(MethodParameter parameter)
Whether the given method parameter is
supported by this resolver.
|
handleMissingValue, handleResolvedValue, resolveArgumentpublic RequestHeaderMethodArgumentResolver(@Nullable ConfigurableBeanFactory beanFactory)
beanFactory - a bean factory to use for resolving ${...}
placeholder and #{...} SpEL expressions in default values;
or null if default values are not expected to have expressionspublic boolean supportsParameter(MethodParameter parameter)
HandlerMethodArgumentResolverparameter - 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 java.lang.Object resolveName(java.lang.String name, MethodParameter parameter, NativeWebRequest request) throws java.lang.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)java.lang.Exception - in case of errorsprotected void handleMissingValue(java.lang.String name,
MethodParameter parameter)
throws ServletRequestBindingException
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 parameterServletRequestBindingException