@Header
The @Header annotation can be applied to arguments of @RemoteOp-annotated methods to denote that they are header parameters on the request.
Example
@Remote(path="/myproxy")
public interface MyProxy {
// Explicit names specified for HTTP headers.
// pojo will be converted to UON notation (unless plain-text parts enabled).
@RemoteGet("/mymethod1")
String myProxyMethod1(@Header("Foo") String foo,
@Header("Bar") MyPojo pojo);
// Multiple values pulled from a HeaderList object.
// Same as @Header("*").
@RemoteGet("/mymethod2")
String myProxyMethod2(@Header HeaderList headerList);
// Multiple values pulled from a Map.
// Same as @Header("*").
@RemoteGet("/mymethod3")
String myProxyMethod3(@Header Map map);
// Multiple values pulled from a bean.
// Same as @Header("*").
@RemoteGet("/mymethod4")
String myProxyMethod4(@Header MyBean myBean);
}
Header arguments can be any of the following types:
-
Single-part arguments (i.e. those with
name != "*"
):- Any serializable POJO - Converted to a string using the HttpPartSerializer registered with the
RestClient
(OpenApiSerializer by default) or associated via the @Header(serializer) annotation.
- Any serializable POJO - Converted to a string using the HttpPartSerializer registered with the
-
Multi-part arguments (i.e. those with
name == "*"
or empty):- HeaderList - Serialized as individual headers.
Map<String,Object>
- Converted to key-value pairs. Values serialized using the registered HttpPartSerializer (OpenApiSerializer by default).- Bean - Converted to key-value pairs. Values serialized using the registered HttpPartSerializer (OpenApiSerializer by default).
See the link below for information about supported data types in OpenAPI serialization.
See Also