jmadureira / java-http-client

HTTP client for RESTful APIs, simplified for Java

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:4.0.0'
}

repositories {
  mavenCentral()
}
...

Maven

<dependency>
    <groupId>com.sendgrid</groupId>
    <artifactId>java-http-client</artifactId>
    <version>3.0.0</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.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

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

License:MIT License


Languages

Language:Java 89.4%Language:PHP 7.0%Language:Shell 3.6%