Moderner HTTP-Client
Den eingebauten HttpClient für saubere, moderne HTTP-Anfragen verwenden.
Code-Vergleich
✕ 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.
Warum der moderne Weg gewinnt
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
JDK-Unterstützung
Moderner HTTP-Client
Verfügbar
Seit JDK 11 allgemein verfügbar (Sept. 2018)
Wie es funktioniert
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.
Zugehörige Dokumentation