public class ApiClient extends AbstractService { (1)
// Standard methods sending to the local node:
ResponseEnvelope<T> localGet (String url, Class<T> clazz);
ResponseEnvelope<T> localPost(String url, Object body, Class<T> clazz);
ResponseEnvelope<T> localGet (String url, Map<String, Object> headers, Class<T> clazz);
ResponseEnvelope<T> localPost(String url, Map<String, Object> headers, Object body, Class<T> clazz);
// Generic method sending to the local node:
ResponseEnvelope<T> localApi(RequestMethod method, String url, Map<String, Object> headers,
Object body, Class<T> clazz, int timeout);
// Standard methods sending to a remote node:
ResponseEnvelope<T> nodeGet (String node, String url, Class<T> clazz);
ResponseEnvelope<T> nodePost(String node, String url, Object body, Class<T> clazz);
ResponseEnvelope<T> nodeGet (String node, String url, Map<String, Object> headers, Class<T> clazz);
ResponseEnvelope<T> nodePost(String node, String url, Map<String, Object> headers,
Object body, Class<T> clazz);
// Generic method sending to a remote node:
ResponseEnvelope<T> nodeApi(String node, RequestMethod method, String url,
Map<String, Object> headers, Object body, Class<T> clazz, int timeout)
// Generic method that uses the ApiRequest object, which defines the full request:
ResponseEnvelope<T> api(ApiRequest<T> request);
}