THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Goals:
- Simplify how remoteable interface proxies are exposed in the server and used in the clients.
- Allow interface proxies to be defined against 3rd-party REST interfaces.
- Allow interface proxies to pass Java method parameters as GET parameters.
New annotations:
- @Remotable
Annotation applied to interface proxy classes. - path(String), optional
The absolute or relative path to the REST service.
When relative path is specified, it's relative to the root-url defined on the RestClient.
- expose(String), optional
Defines the methods on the interface that are visible.
Possible values:- "ALL" (default) - All methods defined on the interface are visible.
- "REMOTEABLE" - Only methods marked with the @RemoteableMethod annotation are visible.
- @RemoteableMethod
Annotation applied to Java methods on interface proxy classes.- path(String), optional
The path to the REST service for this Java method.
The default value is the Java method name itself. - httpMethod(String), optional
Defines whether to use GET or POST for the method call.
Possible values:- "POST" (default) - Parameters are serialized using the serializer registered with the RestClient.
- "GET" - Parameters are serialized using the UrlEncodingSerializer registered with the RestClient.
- path(String), optional
Example:
@Remoteable(url="/myremoteableinterface") |
The code above causes the following HTTP request:
HTTP GET http://hostname/myremoteableinterface/method1?bar=123&baz=foo&qux=(...) |