Annotation Interface HeaderParam
Binds the value of a 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 the parameter converter injected in the web server module.
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 the request contains 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. The 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( ... )
public void handler(@HeaderParam int requiredHeader) {
...
}
@WebRoute( ... )
public void handler(@HeaderParam Optional<Integer> optionalHeader) {
...
}
@WebRoute( ... )
public void handler(@HeaderParam List<Integer> multiValueHeader) {
...
}
- Since:
- 1.0
- Author:
- Jeremy Kuhn
- See Also: