Creare un client REST in Java

Creare un client REST in Java

Per creare un client REST in Java, ci sono vari modi.

Oggi ne vediamo uno semplice, che richiede queste librerie:

  • Apache HttpClient
  • Apache HttpCore
  • Apache CommonsIO
  • Json Library org.json

Tutte queste le mettiamo dentro al nostro bel pom.xml (se usate Maven come me):

Come servizio REST, usiamo quello messo a disposizione da httpbin.org, un sito web che mette a disposizione parecchi endpoint per testare i nostri client.

Questo il codice di esempio:

import java.io.IOException;
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;
import org.json.JSONObject;

public class Main {

    public static void main(String[] args) {
        try {
            String strUrl = "https://httpbin.org/get";
            HttpClient client = HttpClientBuilder.create().build();
            HttpGet request = new HttpGet(strUrl);
            HttpResponse response = client.execute(request);
            String json = IOUtils.toString(response.getEntity().getContent(), "UTf-8");
            JSONObject obj = new JSONObject(json);
            System.out.println(obj.get("url"));
        } catch (IOException ex) {
            System.out.println(ex.getMessage());
        }
    }

}

Nel nostro endpoint, non ci sono array; ma è tutto un oggetto (come mi hanno fatto giustamente notare sul forum HTML.it).

Nel caso siano presenti array, possiamo usare JSONArray.

Enjoy!