Spring Framework

org.springframework.web.bind.support
Interface WebArgumentResolver


public interface WebArgumentResolver

SPI for resolving custom arguments for a specific handler method parameter. Typically implemented to detect special parameter types, resolving well-known argument values for them.

A typical implementation could look like as follows:

 public class MySpecialArgumentResolver implements WebArgumentResolver {

   public Object resolveArgument(MethodParameter methodParameter, NativeWebRequest webRequest) {
     if (methodParameter.getParameterType().equals(MySpecialArg.class)) {
       return new MySpecialArg("myValue");
     }
     return UNRESOLVED;
   }
 }

Since:
2.5.2
Author:
Juergen Hoeller
See Also:
AnnotationMethodHandlerAdapter.setCustomArgumentResolvers(org.springframework.web.bind.support.WebArgumentResolver[]), AnnotationMethodHandlerAdapter.setCustomArgumentResolvers(org.springframework.web.bind.support.WebArgumentResolver[])

Field Summary
static java.lang.Object UNRESOLVED
          Marker to be returned when the resolver does not know how to handle the given method parameter.
 
Method Summary
 java.lang.Object resolveArgument(MethodParameter methodParameter, NativeWebRequest webRequest)
          Resolve an argument for the given handler method parameter within the given web request.
 

Field Detail

UNRESOLVED

static final java.lang.Object UNRESOLVED
Marker to be returned when the resolver does not know how to handle the given method parameter.

Method Detail

resolveArgument

java.lang.Object resolveArgument(MethodParameter methodParameter,
                                 NativeWebRequest webRequest)
                                 throws java.lang.Exception
Resolve an argument for the given handler method parameter within the given web request.

Parameters:
methodParameter - the handler method parameter to resolve
webRequest - the current web request, allowing access to the native request as well
Returns:
the argument value, or UNRESOLVED if not resolvable
Throws:
java.lang.Exception - in case of resolution failure

Spring Framework