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
`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"