public abstract class AbstractCookieValueMethodArgumentResolver extends AbstractNamedValueMethodArgumentResolver
@CookieValue
. Subclasses extract the cookie value from the request.
An @CookieValue
is a named value that is resolved from a cookie.
It has a required flag and a default value to fall back on when the cookie
does not exist.
A WebDataBinder
may be invoked to apply type conversion to the
resolved cookie value.
AbstractNamedValueMethodArgumentResolver.NamedValueInfo
Constructor and Description |
---|
AbstractCookieValueMethodArgumentResolver(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(String cookieName,
MethodParameter param)
Invoked when a named value is required, but
AbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)
returned null and there is no default value. |
boolean |
supportsParameter(MethodParameter parameter)
Whether the given method parameter is
supported by this resolver.
|
handleResolvedValue, resolveArgument, resolveName
public AbstractCookieValueMethodArgumentResolver(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 contain expressionspublic boolean supportsParameter(MethodParameter parameter)
HandlerMethodArgumentResolver
parameter
- the method parameter to checktrue
if this resolver supports the supplied parameter;
false
otherwiseprotected AbstractNamedValueMethodArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter)
AbstractNamedValueMethodArgumentResolver
AbstractNamedValueMethodArgumentResolver.NamedValueInfo
object for the given method parameter. Implementations typically
retrieve the method annotation by means of MethodParameter.getParameterAnnotation(Class)
.createNamedValueInfo
in class AbstractNamedValueMethodArgumentResolver
parameter
- the method parameterprotected void handleMissingValue(String cookieName, MethodParameter param) throws ServletRequestBindingException
AbstractNamedValueMethodArgumentResolver
AbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)
returned null
and there is no default value. Subclasses typically throw an exception in this case.handleMissingValue
in class AbstractNamedValueMethodArgumentResolver
cookieName
- the name for the valueparam
- the method parameterServletRequestBindingException