I/O Einsteiger

Den eingebauten HttpClient für saubere, moderne HTTP-Anfragen verwenden.

✕ 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();
Problem mit diesem Code entdeckt? Sag uns Bescheid.
📐

Builder-API

Fluenter Builder für Anfragen, Header und Timeouts.

🔄

HTTP/2-Unterstützung

Eingebautes HTTP/2 mit Multiplexing und Server Push.

Async-fähig

sendAsync() gibt ein CompletableFuture zurück.

Alter Ansatz
HttpURLConnection
Moderner Ansatz
HttpClient
Seit JDK
11
Schwierigkeitsgrad
Einsteiger
Moderner HTTP-Client
Verfügbar

Seit JDK 11 allgemein verfügbar (Sept. 2018)

HttpClient unterstützt HTTP/1.1 und HTTP/2, asynchrone Anfragen, WebSocket, benutzerdefinierte Executors und Connection-Pooling. Kein Casten von URLConnection oder manuelles Lesen von InputStreams mehr.

Teilen 𝕏 🦋 in