Class RequestHeaderMethodArgumentResolver
java.lang.Object
org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
org.springframework.web.method.annotation.RequestHeaderMethodArgumentResolver
- All Implemented Interfaces:
- HandlerMethodArgumentResolver
Resolves method arguments annotated with 
@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.
- Since:
- 3.1
- Author:
- Arjen Poutsma, Rossen Stoyanchev
- 
Nested Class SummaryNested classes/interfaces inherited from class org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolverAbstractNamedValueMethodArgumentResolver.NamedValueInfo
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptioncreateNamedValueInfo(MethodParameter parameter) Create theAbstractNamedValueMethodArgumentResolver.NamedValueInfoobject for the given method parameter.protected voidhandleMissingValue(String name, MethodParameter parameter) Invoked when a named value is required, butAbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)returnednulland there is no default value.protected voidhandleMissingValueAfterConversion(String name, MethodParameter parameter, NativeWebRequest request) Invoked when a named value is present but becomesnullafter conversion.protected ObjectresolveName(String name, MethodParameter parameter, NativeWebRequest request) Resolve the given parameter type and value name into an argument value.booleansupportsParameter(MethodParameter parameter) Whether the given method parameter is supported by this resolver.Methods inherited from class org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolverhandleMissingValue, handleResolvedValue, resolveArgument
- 
Constructor Details- 
RequestHeaderMethodArgumentResolverCreate a newRequestHeaderMethodArgumentResolverinstance.- Parameters:
- beanFactory- a bean factory to use for resolving ${...} placeholder and #{...} SpEL expressions in default values; or- nullif default values are not expected to have expressions
 
 
- 
- 
Method Details- 
supportsParameterDescription copied from interface:HandlerMethodArgumentResolverWhether the given method parameter is supported by this resolver.- Parameters:
- parameter- the method parameter to check
- Returns:
- trueif this resolver supports the supplied parameter;- falseotherwise
 
- 
createNamedValueInfoprotected AbstractNamedValueMethodArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter) Description copied from class:AbstractNamedValueMethodArgumentResolverCreate theAbstractNamedValueMethodArgumentResolver.NamedValueInfoobject for the given method parameter. Implementations typically retrieve the method annotation by means ofMethodParameter.getParameterAnnotation(Class).- Specified by:
- createNamedValueInfoin class- AbstractNamedValueMethodArgumentResolver
- Parameters:
- parameter- the method parameter
- Returns:
- the named value information
 
- 
resolveName@Nullable protected Object resolveName(String name, MethodParameter parameter, NativeWebRequest request) throws Exception Description copied from class:AbstractNamedValueMethodArgumentResolverResolve the given parameter type and value name into an argument value.- Specified by:
- resolveNamein class- AbstractNamedValueMethodArgumentResolver
- Parameters:
- name- the name of the value being resolved
- parameter- the method parameter to resolve to an argument value (pre-nested in case of a- Optionaldeclaration)
- request- the current request
- Returns:
- the resolved argument (may be null)
- Throws:
- Exception- in case of errors
 
- 
handleMissingValueprotected void handleMissingValue(String name, MethodParameter parameter) throws ServletRequestBindingException Description copied from class:AbstractNamedValueMethodArgumentResolverInvoked when a named value is required, butAbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)returnednulland there is no default value. Subclasses typically throw an exception in this case.- Overrides:
- handleMissingValuein class- AbstractNamedValueMethodArgumentResolver
- Parameters:
- name- the name for the value
- parameter- the method parameter
- Throws:
- ServletRequestBindingException
 
- 
handleMissingValueAfterConversionprotected void handleMissingValueAfterConversion(String name, MethodParameter parameter, NativeWebRequest request) throws Exception Description copied from class:AbstractNamedValueMethodArgumentResolverInvoked when a named value is present but becomesnullafter conversion.- Overrides:
- handleMissingValueAfterConversionin class- AbstractNamedValueMethodArgumentResolver
- Parameters:
- name- the name for the value
- parameter- the method parameter
- request- the current request
- Throws:
- Exception
 
 
-