Cliente HTTP moderno
Use o HttpClient integrado para requisições HTTP limpas e modernas.
Comparação de Código
✕ 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();
Viu um problema com este código? Nos avise.
Por que a forma moderna ganha
API Builder
Builder fluente para requisições, cabeçalhos e timeouts.
Suporte a HTTP/2
HTTP/2 integrado com multiplexação e server push.
Pronto para async
sendAsync() retorna CompletableFuture.
Abordagem Antiga
HttpURLConnection
Abordagem Moderna
HttpClient
Desde o JDK
11
Dificuldade
Iniciante
Suporte JDK
Cliente HTTP moderno
Disponível
Amplamente disponível desde o JDK 11 (setembro de 2018)
Como funciona
HttpClient suporta HTTP/1.1 e HTTP/2, requisições assíncronas, WebSocket, executors customizados e pool de conexões. Chega de fazer cast de URLConnection ou ler InputStreams manualmente.
Documentação Relacionada