sendgrid / java-http-client

SendGrid's Java HTTP Client for calling APIs
https://sendgrid.com
MIT License
25 stars 78 forks source link

SendGrid Logo

Test and Deploy 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

All updates to this project are documented in our CHANGELOG.

Installation

Prerequisites

Install via Maven w/ Gradle

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

repositories {
  mavenCentral()
}
...

Maven

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

mvn install

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");
// Will be parsed to categories=cake&categories=pie&categories=baking
request.addQueryParam("categories", "cake&pie&baking");
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;
}

How to Contribute

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

Quick links:

About

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

Support

If you need help using SendGrid, please check the Twilio SendGrid Support Help Center.

If you've instead found a bug in the library or would like new features added, go ahead and open issues or pull requests against this repo!

License

The MIT License (MIT)