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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static Object` | `UNRESOLVED` Marker to be returned when the resolver does not know how to handle the given method parameter.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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