4.6.2.3. Eclipse Vert.x HTTP クライアントの改善


本セクションでは、HTTP クライアントの改善を説明します。

4.6.2.3.1. HTTP クライアント要求と応答メソッドが非同期ハンドラーを入力引数として取る

HttpClient メソッドおよび HttpClientRequest メソッドが更新され、非同期ハンドラーが使用されるようになりました。このメソッドは、Handler<HttpClientResponse> の代わりに、Handler<AsyncResult<HttpClientResponse>> を入力として取ります。

以前のリリースの Eclipse Vert.x では、リクエストを実行するためにさらに送信する必要がある HttpClientRequest を返すのに HttpClient メソッドの getNow()optionsNow()、および headNow() が使用されていました。getNow() メソッド、optionsNow() メソッド、および headNow() メソッドが削除されました。Eclipse Vert.x 4 では、Handler<AsyncResult<HttpClientResponse>> を使用して、必要な情報で要求を直接送信できます。

以下の例は、Eclipse Vert.x 3.x で要求を送信する方法を示しています。

  • GET 操作を実行するには、以下を実行します。

    Future<HttpClientResponse> f1 = client.get(8080, "localhost", "/uri", HttpHeaders.set("foo", "bar"));
  • バッファーボディーを持つ POST を行うには、以下を行います。

    Future<HttpClientResponse> f2 = client.post(8080, "localhost", "/uri", HttpHeaders.set("foo", "bar"), Buffer.buffer("some-data"));
  • ストリーミングボディーを使用した POST を行うには、次のコマンドを実行します。

    Future<HttpClientResponse> f3 = client.post(8080, "localhost", "/uri", HttpHeaders.set("foo", "bar"), asyncFile);

Eclipse Vert.x 4 では、requests メソッドを使用して HttpClientRequest インスタンスを作成できます。これらのメソッドは、以下のような基本的な対話で使用できます。

  • リクエストヘッダーの送信
  • プッシュハンドラー、ストリームの優先度、ping の設定などの HTTP/2 固有の操作。
  • NetSocket トンネルの作成
  • 粒度の細かい書き込み制御を提供
  • ストリームのリセット
  • 100 継続ヘッダーの手動処理

以下の例は、Eclipse Vert.x 4 で HTTPClientRequest を作成する方法を示しています。

client.request(HttpMethod.GET, 8080, "example.com", "/resource", ar -> {
  if (ar.succeeded()) {
    HttpClientRequest request = ar.result();
    request.putHeader("content-type", "application/json")
    request.send(new JsonObject().put("hello", "world"))
      .onSuccess(response -> {
      //
      }).onFailure(err -> {
      //
       });
     }
})
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.