GitHub - bluestealth/java-http-client: HTTP client for RESTful APIs, simplified for Java
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
Dependencies
- Please see the build.gradle file
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)