Desde o Java 11, o java.net.http.HttpClient nativo elimina a necessidade de bibliotecas externas como Apache HttpClient para chamadas simples de API.
Exemplo de requisição
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://scrapegram.cloud/api/v1/instagram/profile?username=nike"))
.header("Authorization", "Bearer " + System.getenv("SCRAPEGRAM_TOKEN"))
.GET()
.build();
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() == 200) {
System.out.println(response.body());
} else {
System.err.println("Erro HTTP " + response.statusCode());
}
Convertendo o JSON pra objeto
Usando Jackson (uma das bibliotecas de JSON mais comuns no ecossistema Java):
ObjectMapper mapper = new ObjectMapper();
JsonNode perfil = mapper.readTree(response.body());
long seguidores = perfil.get("followers").asLong();
Para aplicações Spring Boot, o mesmo padrão funciona injetando um RestClient ou WebClient configurado com o header de autorização.