|
Spring Framework | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
org.springframework.web.servlet.mvc.method.annotation.PathVariableMethodArgumentResolver
public class PathVariableMethodArgumentResolver
Resolves method arguments annotated with an @PathVariable.
An @PathVariable is a named value that gets resolved from a URI
template variable. It is always required and does not have a default value
to fall back on. See the base class
AbstractNamedValueMethodArgumentResolver
for more information on how named values are processed.
If the method parameter type is Map, the name specified in the
annotation is used to resolve the URI variable String value. The value is
then converted to a Map via type conversion assuming a suitable
Converter or PropertyEditor has been registered.
Or if the annotation does not specify name the
RequestParamMapMethodArgumentResolver is used instead to provide
access to all URI variables in a map.
A WebDataBinder is invoked to apply type conversion to resolved path variable values that
don't yet match the method parameter type.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver |
|---|
AbstractNamedValueMethodArgumentResolver.NamedValueInfo |
| Constructor Summary | |
|---|---|
PathVariableMethodArgumentResolver()
|
|
| Method Summary | |
|---|---|
protected AbstractNamedValueMethodArgumentResolver.NamedValueInfo |
createNamedValueInfo(MethodParameter parameter)
Create the AbstractNamedValueMethodArgumentResolver.NamedValueInfo object for the given method parameter. |
protected void |
handleMissingValue(java.lang.String name,
MethodParameter param)
Invoked when a named value is required, but AbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)
returned null and there is no default value. |
protected void |
handleResolvedValue(java.lang.Object arg,
java.lang.String name,
MethodParameter parameter,
ModelAndViewContainer mavContainer,
NativeWebRequest request)
Invoked after a value is resolved. |
protected java.lang.Object |
resolveName(java.lang.String name,
MethodParameter parameter,
NativeWebRequest request)
Resolves 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. |
| Methods inherited from class org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver |
|---|
resolveArgument |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public PathVariableMethodArgumentResolver()
| Method Detail |
|---|
public boolean supportsParameter(MethodParameter parameter)
HandlerMethodArgumentResolver
parameter - the method parameter to check
true 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
protected java.lang.Object resolveName(java.lang.String name,
MethodParameter parameter,
NativeWebRequest request)
throws java.lang.Exception
AbstractNamedValueMethodArgumentResolver
resolveName in class AbstractNamedValueMethodArgumentResolvername - the name of the value being resolvedparameter - the method parameter to resolve to an argument valuerequest - the current request
null
java.lang.Exception - in case of errors
protected void handleMissingValue(java.lang.String name,
MethodParameter param)
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 valueparam - the method parameter
ServletRequestBindingException
protected void handleResolvedValue(java.lang.Object arg,
java.lang.String name,
MethodParameter parameter,
ModelAndViewContainer mavContainer,
NativeWebRequest request)
AbstractNamedValueMethodArgumentResolver
handleResolvedValue in class AbstractNamedValueMethodArgumentResolverarg - the resolved argument valuename - the argument nameparameter - the argument parameter typemavContainer - the ModelAndViewContainer, which may be nullrequest - the current request
|
Spring Framework | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||