{title:'@Header', updated:'8.2.0', updated:'9.0.0'}

The {@link oaj.http.annotation.Header @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<String,Object> map); | | // Multiple values pulled from a bean. | // Same as @Header("*"). | @RemoteGet("/mymethod4") | String myProxyMethod4(@Header MyBean myBean); | }

Single-part arguments (i.e. those with name != "*") can be any of the following types:

Multi-part arguments (i.e. those with name == "*" or empty) can be any of the following types:

See the link below for information about supported data types in OpenAPI serialization.