@Path
The @Path annotation can be applied to arguments of @RemoteOp-annotated methods to denote that they are path parameters on the request.
Example
@Remote(path="/myproxy")
public interface MyProxy {
// Explicit names specified for path parameters.
// pojo will be converted to UON notation (unless plain-text parts enabled).
@RemoteGet("/mymethod1/{foo}/{bar}")
String myProxyMethod1(@Path("foo") String foo, @Path("bar") MyPojo pojo);
// Multiple values pulled from a PartList object.
// Same as @Path("*").
@RemoteGet("/mymethod2/{foo}/{bar}/{baz}")
String myProxyMethod2(@Path PartList partList);
// Multiple values pulled from a Map.
// Same as @Path("*").
@RemoteGet("/mymethod3/{foo}/{bar}/{baz}")
String myProxyMethod3(@Path Map map);
// Multiple values pulled from a bean.
// Same as @Path("*").
@RemoteGet("/mymethod4/{foo}/{bar}/{baz}")
String myProxyMethod4(@Path MyBean myBean);
}
Path 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 @Path(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):
- PartList - Serialized as individual path parameters.
Map
- 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