@FormData
The @FormData annotation can be applied to arguments of @RemoteOp-annotated methods to denote that they are form-data parameters on the request.
Example
@Remote(path="/myproxy")
public interface MyProxy {
// Explicit names specified for form data parameters.
@RemotePost
String postParameters(
@FormData("foo") String foo,
@FormData("bar") MyPojo pojo
);
// Multiple values pulled from a PartList object.
// Name "*" is inferred.
@RemotePost
String postPartList(@FormData PartList partList);
// Multiple values pulled from a Map.
@RemotePost
String postMap(@FormData Map map);
// Multiple values pulled from a bean.
@RemotePost
String postBean(@FormData MyBean bean);
// An entire form-data HTTP body as a String.
@RemotePost
String postString(@FormData String string);
// An entire form-data HTTP body as a Reader.
@RemotePost
String postReader(@FormData Reader reader);
}
Form data 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 @FormData(serializer) annotation.
-
Multi-part arguments (i.e. those with
name == "*"
or empty):- Reader - Raw contents of
Reader
will be serialized to remote resource. - InputStream - Raw contents of
InputStream
will be serialized to remote resource. - PartList - Converted to a URL-encoded FORM post.
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).
CharSequence
- Used directly as anapplication/x-www-form-urlencoded
entity. See the link below for information about supported data types in OpenAPI serialization.
- Reader - Raw contents of
See Also