@RemoteResource

The {@link oajrc.remote.RemoteResource @RemoteResource} annotation is used on your interface class to identify it as a REST proxy interface.

The @RemoteResource annotation is optional, but often included for code readability.

@RemoteResource(path)

The {@link oajrc.remote.RemoteResource#path @RemoteResource(path)} annotation is used to define the HTTP path of the REST service.

The path can be an absolute path to your REST service.

Example:

@RemoteResource(path="http://localhost:10000/petstore") public interface PetStore {...}

PetStore p = client.getRemoteResource(PetStore.class);

When a relative path is specified, it's relative to the root-url defined on the RestClient used to instantiate the interface.

Example:

@RemoteResource(path="/petstore") public interface PetStore {...}

RestClient client = RestClient.create().json().rootUrl("http://localhost:10000").build(); PetStore p = client.getRemoteResource(PetStore.class);

When no path is specified, the root-url defined on the RestClient is used.

Example:

@RemoteResource public interface PetStore {...}

RestClient client = RestClient.create().json().rootUrl("http://localhost:10000/petstore").build(); PetStore p = client.getRemoteResource(PetStore.class);