Annotation Interface Header

An annotation that can be applied to method argument to indicate that the method argument is bound from an HTTP header This also can be used in conjunction with @Headers to list headers on a client class that will always be applied.

The following example demonstrates usage at the type level to declare default values to pass in the request when using the Client annotation:

 @Header(name = "X-Username", value = "Freddy"),
 @Header(name = "X-MyParam", value = "${}")
 interface UserClient {


When declared as a binding annotation the @Header annotation is declared on each parameter to be bound:

 User get(@Header('X-Username') String username, @Header('X-MyParam') String myparam) {
    return new User(username, myparam);
Graeme Rocher, rvanderwerf
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    If used on a class level with @Headers this is the header name and value is the value.
    If used as a bound parameter, this is the header name.