summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md60
1 files changed, 60 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d17a448
--- /dev/null
+++ b/README.md
@@ -0,0 +1,60 @@
+# Common REST Client Library
+
+This library provides a single client implementation to be used by micro services for communicating via its REST API.
+
+---
+
+## Usage
+In order to make the _REST Client_ library available to your microservice, include the following dependency in your service's pom.xml:
+
+ <!-- Common REST Client Library -->
+ <dependency>
+ <groupId>org.openecomp.aai</groupId>
+ <artifactId>rest-client</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </dependency>
+
+## Code Examples
+
+### Creating and Configuring a Client Instance
+In order to start talking to a service, you need to create a client instance and configure it. The _RestClient_ uses a fluent interface which allows it to be both instantiated and configured as in the following example:
+
+ // Create an instance of the Rest Client and configure it.
+ RestClient myClient = new RestClient()
+ .validateServerHostname(false)
+ .validateServerCertChain(true)
+ .clientCertFile("certificate_filename")
+ .trustStroe("trust_store_filename")
+ .connectTimeoutMs(1000)
+ .readTimeoutMs(1000)
+
+Note, that all of the above configuration parameters are optional and will be set to default values if they are not specified.
+
+### Querying The A&AI
+Once your service has a client instance, it can query the _Active & Available Inventory_ by specifying an HTTP endpoint, headers, and the expected response format:
+
+ MultivaluedMap<String, String> headers = new MultivaluedMapImpl();
+ headers.put("Accept", Arrays.asList(new String[]{"application/json"}));
+ headers.put("X-FromAppId", Arrays.asList(new String[]{"APP-ID"}));
+ headers.put("X-TransactionId", Arrays.asList(new String[]{UUID.randomUUID().toString()}));
+
+ OperationResult result = myClient.queryActiveInventory("http://some/endpoint", headers, RestClient.RESPONSE_MIME_TYPE.JSON);
+
+ // You can also specify number of re-tries:
+ int retries = 3
+ OperationResult result = myClient.queryActiveInventory("http://some/endpoint", headers, RestClient.RESPONSE_MIME_TYPE.JSON, retries);
+
+
+The result of the query is returned as an _OperationResult_ object, which can be unpacked in the following manner:
+
+The standard HTTP result code received back from the _A&AI_ is accessible as follows:
+
+ int resultCode = getResultCode()
+
+The actual result payload is accessible in the following manner:
+
+ String resultPayload = result.getResult()
+
+Finally, in the event of a failure, a failure cause message will be populated and can be accessed as follows:
+
+ String failureCause = result.getFailureCause()