Java:
Een HTTP-verzoek verzenden
Hoe:
Laten we aan de slag gaan met Java 11’s HttpClient
, HttpRequest
, en HttpResponse
om een GET-verzoek te doen en wat gegevens te bemachtigen:
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class HttpRequestExample {
public static void main(String[] args) {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("http://example.com"))
.build();
client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
.thenApply(HttpResponse::body)
.thenAccept(System.out::println)
.join();
}
}
Je draait het, en voilà—serverrespons, direct in je console.
Diepere Duik
Voor Java 11 was het versturen van een HTTP-verzoek een complexere dans die vaak betrokkenheid van bibliotheken van derden zoals Apache HttpClient vereiste. HttpURLConnection
was ook een optie maar voelde aan als een dinosaurus—omslachtig en minder intuïtief.
Met Java 11 komt HttpClient
, die het proces stroomlijnt met zowel synchrone .send
als asynchrone .sendAsync
methoden. Het is reactief en niet-blokkerend—wat betekent dat je niet rondloopt te tappen met je voet terwijl het zijn ding doet. Dit sluit aan bij de efficiëntiebehoeften van moderne apps waar wachten gelijk staat aan verspilde tijd.
Alternatieven voor Java’s standaardbibliotheken? Bibliotheken zoals OkHttp en Retrofit zijn nog steeds favorieten wanneer robuuste functies en aangepaste configuraties gewenst zijn. En waarom niet? Ze komen met hun eigen voordelen, zoals verbinding pooling en gespreksconversie uit de doos.
Zie Ook
Duik dieper in de Java HttpClient met de officiële Java-documentatie:
Voel je avontuurlijk? Verken OkHttp en Retrofit: