org.springframework.web.bind.annotation

## Annotation Type RequestParam

-     @Target(value=PARAMETER)
      @Retention(value=RUNTIME)
      @Documented
      public @interface RequestParam

  Annotation which indicates that a method parameter should be bound to a web request parameter. Supported for annotated handler methods in Servlet and Portlet environments.

  If the method parameter type is `Map` and a request parameter name is specified, then the request parameter value is converted to a `Map` assuming an appropriate conversion strategy is available.

  If the method parameter is `Map<String, String>` or `MultiValueMap<String, String>` and a parameter name is not specified, then the map parameter is populated with all request parameter names and values.

  Since:
    2.5
  Author:
    Arjen Poutsma, Juergen Hoeller
  See Also:
    `RequestMapping`, `RequestHeader`, `CookieValue`, `RequestMappingHandlerAdapter`, `AnnotationMethodHandlerAdapter`, `AnnotationMethodHandlerAdapter`

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `String` | `defaultValue` The default value to use as a fallback.
    `boolean` | `required` Whether the parameter is required.
    `String` | `value` The name of the request parameter to bind to.

- - ### Element Detail

    - #### value

          public abstract String value

      The name of the request parameter to bind to.
      Default:
        ""

    - #### required

          public abstract boolean required

      Whether the parameter is required.

      Default is `true`, leading to an exception thrown in case of the parameter missing in the request. Switch this to `false` if you prefer a `null` in case of the parameter missing.

      Alternatively, provide a `defaultValue`, which implicitly sets this flag to `false`.

      Default:
        true

    - #### defaultValue

          public abstract String defaultValue

      The default value to use as a fallback. Supplying a default value implicitly sets `required()` to false.
      Default:
        "\n\t\t\n\t\t\n\ue000\ue001\ue002\n\t\t\t\t\n"