Annotation Interface RequestParam
Supported for annotated handler methods in Spring MVC and Spring WebFlux as follows:
- In Spring MVC, "request parameters" map to query parameters, form data, and parts in multipart requests. This is because the Servlet API combines query parameters and form data into a single map called "parameters", and that includes automatic parsing of the request body.
- In Spring WebFlux, "request parameters" map to query parameters only.
To work with all 3, query, form data, and multipart data, you can use data
binding to a command object annotated with
ModelAttribute
.
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, Sam Brannen
- See Also:
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionThe default value to use as a fallback when the request parameter is not provided or has an empty value.The name of the request parameter to bind to.boolean
Whether the parameter is required.Alias forname()
.
-
Element Details
-
value
Alias forname()
.- Default:
- ""
-
name
The name of the request parameter to bind to.- Since:
- 4.2
- Default:
- ""
-
required
boolean requiredWhether the parameter is required.Defaults to
true
, leading to an exception being thrown if the parameter is missing in the request. Switch this tofalse
if you prefer anull
value if the parameter is not present in the request.Alternatively, provide a
defaultValue()
, which implicitly sets this flag tofalse
.- Default:
- true
-
defaultValue
String defaultValueThe 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()
tofalse
.- Default:
- "\n\t\t\n\t\t\n\ue000\ue001\ue002\n\t\t\t\t\n"
-