20 Haziran 2023 Salı

HttpClient Sınıfı İle POST

Giriş
Java 11 ile artık HttpsURLConnection, HttpURLConnection sınıfları yerine HttpClient kullanılıyor. Burada bazı örnekler var.

Örnek
Şöyle yaparız. Burada String verisi POST yapılıyor ama cevap önemli değil, dikkate alınmıyor 
HttpRequest httpRequest = HttpRequest.newBuilder()
  .uri(URI.create(basePhoneHomeUrl))
  .timeout(Duration.ofMillis(TIMEOUT))
  .POST(HttpRequest.BodyPublishers.ofString(requestBody, StandardCharsets.UTF_8))
  .build();

try {
  HttpClient httpClient = HttpClient.newBuilder()
    .connectTimeout(Duration.ofMillis(TIMEOUT))
    .build();

    httpClient.send(httpRequest, HttpResponse.BodyHandlers.discarding());
} catch (Exception ignored) {
  ...
}
Örnek
Şöyle yaparız. Burada JSON verisi POST yapılıyor ve cevap dikkate alınıyor
HttpResponse<String> postData(String jsonStr, String endpoint, String accessToken) throws Exception { HttpClient httpClient = HttpClient.newHttpClient(); HttpRequest httpRequest = HttpRequest.newBuilder() .header("Content-Type", "application/json") .header("Authorization", "Bearer " + accessToken) .uri(URI.create("https://...")) .POST(HttpRequest.BodyPublishers.ofString(jsonStr)) .build(); HttpResponse<String> httpResponse = httpClient.send(httpRequest, HttpResponse.BodyHandlers.ofString()); return httpResponse; }

Hiç yorum yok:

Yorum Gönder