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

The {@link oaj.http.annotation.FormData @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<String,Object> 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); | }

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.