Skip to content

Tag: http

Calling a Web API from Java using Unirest

Working with web services has become standard practice today, and it always felt strange to me how much work it took me to call one. I was doing it wrong :-). I found the Unirest library, and my life has been happy ever since.

To show how simple it is, I wrote a short program that queries the StackExchange API for questions in the StackOverflow site:


package com.vainolo.examples.javahttpapiclient;
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.JsonNode;
import com.mashape.unirest.http.Unirest;
public class JavaHTTPAPIClient {
public void getQuestionsUsingUnirest() throws Exception {
HttpResponse<JsonNode> response = Unirest.get("https://api.stackexchange.com/2.2/questions&quot;).
header("accept", "application/json").
queryString("order","desc").
queryString("sort", "creation").
queryString("filter", "default").
queryString("site", "stackoverflow").
asJson();
System.out.println(response.getBody().getObject().toString(2));
}
public static void main(String args[]) throws Exception {
JavaHTTPAPIClient client = new JavaHTTPAPIClient();
client.getQuestionsUsingUnirest();
}
}

This call invokes a GET request to https://api.stackexchange.com/2.2/questions that accepts JSON, including transforming the response to a JSON object that can be easily used later.

Pretty cool, uh? The world is finally going forward.

You can find this example in my examples repository. Enjoy