package HttpCall; import java.net.URI; import java.net.URISyntaxException; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; public class HttpPost { public String HttpCallPost (String baseUrl, String body) throws Exception { var client = HttpClient.newBuilder() .version(HttpClient.Version.HTTP_1_1) .followRedirects(HttpClient.Redirect.ALWAYS) .build(); HttpRequest request = null; try { request = HttpRequest.newBuilder(new URI(baseUrl)) .POST(HttpRequest.BodyPublishers.ofString(body)) .setHeader("Content-Type", "application/json") .setHeader("Accept", "application/json") .header("Authority", "https://api.whysor.com/") .build(); } catch (URISyntaxException e) { e.printStackTrace(); } // client.sendAsync(request, HttpResponse.BodyHandlers.ofString()) // .thenApply(HttpResponse::body) // .thenAccept(System.out::println) // .join(); CompletableFuture> response = client.sendAsync(request, HttpResponse.BodyHandlers.ofString()); String result = response.thenApply(HttpResponse::body).get(5, TimeUnit.SECONDS); return result; } }