Annotation Interface HeaderParam
Binds the value of an HTTP header to a Web route method parameter whose name indicates the name of the header.
The annotated parameter can be of any type as long as it can be decoded by a parameter converter.
When specifying a Web server route, a header parameter can be defined as optional when the method parameter is an Optional
, it is otherwise considered as required and a
MissingRequiredParameterException
will be thrown if the route is invoked with the parameter missing.
If a request is received containing multiple headers with the same name, the first one is bound unless the method parameter is an array, a Collection
, a List
or
a Set
in which case all values are bound. A parameter converter may also split raw values around a value separator (eg. value 1,2,3,4
can be bound to a list of integers).
@WebRoute( ... )
void handler(@HeaderParam int requiredHeader)
@WebRoute( ... )
void handler(@HeaderParam Optional<Integer> optionalHeader)
@WebRoute( ... )
void handler(@HeaderParam List<Integer> multiValueHeader)
- Since:
- 1.0
- Author:
- Jeremy Kuhn
- See Also:
-
Optional Element Summary
-
Element Details
-
name
String nameThe header parameter name.
This allows to override the name which is otherwise the Web route method parameter name, typically when the actual parameter name is not a valid Java identifier.
- Returns:
- a parameter name
- Default:
""
-