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 Object UNRESOLVED
          Marker to be returned when the resolver does not know how to handle the given method parameter.
 
Method Summary
 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 Object UNRESOLVED
Marker to be returned when the resolver does not know how to handle the given method parameter.

Method Detail

resolveArgument

Object resolveArgument(MethodParameter methodParameter,
                       NativeWebRequest webRequest)
                       throws 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:
Exception - in case of resolution failure