Client HTTP moderno
Usa l'HttpClient integrato per richieste HTTP pulite e moderne.
Confronto Codice
✕ Java 8
URL url = new URL("https://api.com/data");
HttpURLConnection con =
(HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
// read lines, close streams...
✓ Java 11+
var client = HttpClient.newHttpClient();
var request = HttpRequest.newBuilder()
.uri(URI.create("https://api.com/data"))
.build();
var response = client.send(
request, BodyHandlers.ofString());
String body = response.body();
Vedi un problema con questo codice? Faccelo sapere.
Perché vince l'approccio moderno
API Builder
Builder fluente per richieste, header e timeout.
Supporto HTTP/2
HTTP/2 integrato con multiplexing e server push.
Pronto per asincrono
sendAsync() restituisce CompletableFuture.
Approccio Vecchio
HttpURLConnection
Approccio Moderno
HttpClient
Dal JDK
11
Difficoltà
Principiante
Supporto JDK
Client HTTP moderno
Disponibile
Ampiamente disponibile dal JDK 11 (settembre 2018)
Come funziona
HttpClient supporta HTTP/1.1 e HTTP/2, richieste asincrone, WebSocket, executor personalizzati e connection pooling. Niente più casting di URLConnection o lettura manuale di InputStream.
Documentazione Correlata