forked from kevin.shehu/GGD
43 lines
1.5 KiB
Java
43 lines
1.5 KiB
Java
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<HttpResponse<String>> response = client.sendAsync(request, HttpResponse.BodyHandlers.ofString());
|
|
String result = response.thenApply(HttpResponse::body).get(5, TimeUnit.SECONDS);
|
|
|
|
|
|
|
|
return result;
|
|
}
|
|
}
|