Vainolo's Blog

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("").
				header("accept",  "application/json").
				queryString("sort", "creation").
				queryString("filter", "default").
				queryString("site", "stackoverflow").
	public static void main(String args[]) throws Exception {
		JavaHTTPAPIClient client = new JavaHTTPAPIClient();

This call invokes a GET request to 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

Written by vainolo

October 14th, 2015 at 7:06 pm

Posted in Thoughts

Tagged with , , , ,

2 Responses to 'Calling a Web API from Java using Unirest'

Subscribe to comments with RSS or TrackBack to 'Calling a Web API from Java using Unirest'.

  1. Hi, Can I use XML instead of Json? What are the changes required if I use xml?

    Deen Dayal Singh

    5 Jun 17 at 11:50

  2. vainolo

    15 Jun 17 at 09:49

Leave a Reply

%d bloggers like this: