I/O Başlangıç

Temiz, modern HTTP istekleri için yerleşik HttpClient'ı kullanın.

✕ 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();
Bu kodda bir sorun mu gördünüz? Bize bildirin.
📐

Builder API

İstekler, başlıklar ve zaman aşımları için akıcı builder.

🔄

HTTP/2 desteği

Çoklama ve sunucu push ile yerleşik HTTP/2.

Asenkrona hazır

sendAsync(), CompletableFuture döndürür.

Eski Yaklaşım
HttpURLConnection
Modern Yaklaşım
HttpClient
JDK'dan itibaren
11
Zorluk
Başlangıç
Modern HTTP istemcisi
Mevcut

JDK 11'den itibaren geniş çapta kullanılabilir (Eylül 2018)

HttpClient, HTTP/1.1 ve HTTP/2, asenkron istekler, WebSocket, özel executor'lar ve bağlantı havuzlamayı destekler. Artık URLConnection cast etmeye veya InputStream'leri manuel olarak okumaya gerek yoktur.

Paylaş 𝕏 🦋 in