mrinal1209 / java-http-client

SendGrid's Java HTTP Client for calling APIs

Home Page:https://sendgrid.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SendGrid Logo

Build Status Maven Central MIT licensed Twitter Follow GitHub contributors

Quickly and easily access any RESTful or RESTful-like API.

If you are looking for the SendGrid API client library, please see this repo.

Table of Contents

Announcements

NEW: If you're a software engineer who is passionate about #DeveloperExperience and/or #OpenSource, this is an incredible opportunity to join our #DX team as a Developer Experience Engineer and work with @thinkingserious and @aroach! Tell your friends :)

All updates to this project is documented in our CHANGELOG.

Installation

Prerequisites

  • Java version Oracle JDK 8 or OpenJDK 7

Install via Maven w/ Gradle

...
dependencies {
  ...
  compile 'com.sendgrid:java-http-client:4.2.0'
}

repositories {
  mavenCentral()
}
...

Maven

<dependency>
    <groupId>com.sendgrid</groupId>
    <artifactId>java-http-client</artifactId>
    <version>4.2.0</version>
</dependency>

mvn install

Install via Fat Jar

sendgrid-java-latest.jar

Dependencies

Quick Start

Here is a quick example:

GET /your/api/{param}/call

Client client = new Client();

Request request = new Request();
request.setBaseUri("api.test.com");
request.setMethod(Method.GET);
String param = "param";
request.setEndpoint("/your/api/" + param + "/call");

try {
    Response response = client.api(request);
    System.out.println(response.getStatusCode());
    System.out.println(response.getBody());
    System.out.println(response.getHeaders());
} catch (IOException ex) {
    throw ex;
}

POST /your/api/{param}/call with headers, query parameters and a request body.

request.addHeader("Authorization", "Bearer YOUR_API_KEY");
request.addQueryParam("limit", "100");
request.addQueryParam("offset", "0");
request.setBody("{\"name\": \"My Request Body\"}");
request.setMethod(Method.POST);
String param = "param";
request.setEndpoint("/your/api/" + param + "/call");

try {
    Response response = client.api(request);
    System.out.println(response.getStatusCode());
    System.out.println(response.getBody());
    System.out.println(response.getHeaders());
} catch (IOException ex) {
    throw ex;
}

Usage

The example uses SendGrid, you can get your free account here.

First, update your environment with your SENDGRID_API_KEY.

echo "export SENDGRID_API_KEY='YOUR_API_KEY'" > sendgrid.env
echo "sendgrid.env" >> .gitignore
source ./sendgrid.env
mvn package
cd examples
javac -classpath {path_to}/sendgrid-java-http-client-4.0.0-jar.jar:. Example.java && java -classpath {path_to}/sendgrid-java-http-client-4.0.0-jar.jar:. Example

Environment Variables

You can do the following to create a .env file:

cp .env_example .env

Then, just add your API Key into your .env file.

Roadmap

If you are interested in the future direction of this project, please take a look at our milestones. We would love to hear your feedback.

How to Contribute

We encourage contribution to our projects please see our CONTRIBUTING guide for details.

Quick links:

About

java-http-client is guided and supported by the SendGrid Developer Experience Team.

java-http-client is maintained and funded by SendGrid, Inc. The names and logos for java-http-client are trademarks of SendGrid, Inc.

License

The MIT License (MIT)

About

SendGrid's Java HTTP Client for calling APIs

https://sendgrid.com

License:MIT License


Languages

Language:Java 85.7%Language:Shell 6.4%Language:PHP 5.6%Language:Dockerfile 2.3%