Skip to content

shuron/java-http-client

 
 

Repository files navigation

Build Status Maven

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

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

Announcements

All updates to this project is documented in our CHANGELOG.

Installation

Prerequisites

  • Java version Oracle JDK 7, 8 or OpenJDK 7

Install via Maven w/ Gradle

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

repositories {
  mavenCentral()
}
...

Maven

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

mvn install

Install via Fat Jar

Download

Dependencies

Quick Start

Here is a quick example:

GET /your/api/{param}/call

Client client = new Client();

Request request = new Request();
request.baseUri = "api.test.com";
request.method = Method.GET;
String param = "param";
request.endpoint = "/your/api/" + param + "/call";

try {
    Response response = client.api(request);
    System.out.println(response.statusCode);
    System.out.println(response.body);
    System.out.println(response.headers);
} catch (IOException ex) {
    throw ex;
}

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

Map<String,String> requestHeaders = new HashMap<String, String>();
requestHeaders.put("Authorization", "Bearer YOUR_API_KEY");
request.headers = requestHeaders;
Map<String,String> queryParams = new HashMap<String, String>();
queryParams.put("limit", "100");
queryParams.put("offset", "0");
request.queryParams = queryParams;
request.body ="{\"name\": \"My Request Body\"}";
request.method = Method.POST;
String param = "param";
request.endpoint = "/your/api/" + param + "/call";

try {
    Response response = client.api(request);
    System.out.println(response.statusCode);
    System.out.println(response.body);
    System.out.println(response.headers);
} 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}/java-http-client-2.3.1-jar.jar:. Example.java && java -classpath ./{path_to}/java-http-client-2.3.1-jar.jar:. Example

Roadmap

If you are intersted 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.

![SendGrid Logo] (https://uiux.s3.amazonaws.com/2016-logos/email-logo%402x.png)

About

HTTP client for RESTful APIs, simplified for Java

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 88.2%
  • PHP 7.8%
  • Shell 4.0%