spring-framework / org.springframework.web.bind.annotation / RequestParam

RequestParam

@Target([AnnotationTarget.VALUE_PARAMETER]) class 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 java.util.Map or org.springframework.util.MultiValueMap and a parameter name is not specified, then the map parameter is populated with all request parameter names and values.

Author
Arjen Poutsma

Author
Juergen Hoeller

Author
Sam Brannen

Since
2.5

See Also
RequestMappingRequestHeaderCookieValue

Constructors

<init>

RequestParam(value: String, name: String, required: Boolean, defaultValue: String)

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 java.util.Map or org.springframework.util.MultiValueMap and a parameter name is not specified, then the map parameter is populated with all request parameter names and values.

Properties

defaultValue

val defaultValue: String

The default value to use as a fallback when the request parameter is not provided or has an empty value.

Supplying a default value implicitly sets #required to false.

name

val name: String

The name of the request parameter to bind to.

required

val required: Boolean

Whether the parameter is required.

Defaults to true, leading to an exception being thrown if the parameter is missing in the request. Switch this to false if you prefer a null value if the parameter is not present in the request.

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

value

val value: String

Alias for #name.