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!
java rest apache httpclient json maven
Commentami!