4.6.2.2.3. 応答の処理


HttpClientResponse インターフェイスが更新され、以下の方法で改善されました。

body() メソッド

body() メソッドは非同期バッファーを返します。bodyHandler() の代わりに body() メソッドを使用します。

以下の例は、bodyHandler() メソッドを使用して要求ボディーを取得する方法を示しています。

response.bodyHandler(body -> {
  // Process the request body
});
response.exceptionHandler(err -> {
  // Could not get the request body
});

以下の例は、body() メソッドを使用して要求ボディーを取得する方法を示しています。

response.body(ar -> {
  if (ar.succeeded()) {
    // Process the request body
  } else {
    // Could not get the request body
  }
});
end() メソッド

end() メソッドは、応答が正常または失敗した場合に future の結果を返します。このメソッドは応答ボディーを削除します。endHandler() メソッドの代わりにこのメソッドを使用してください。

以下の例は、endHandler() メソッドを使用する方法を示しています。

response.endHandler(v -> {
  // Response ended
});
response.exceptionHandler(err -> {
  // Response failed, something went wrong
});

以下の例は、end() メソッドの使用方法を示しています。

response.end(ar -> {
  if (ar.succeeded()) {
    // Response ended
  } else {
    // Response failed, something went wrong
  }
});

onSucces()compose()bodyHandler() などのメソッドで応答を処理することもできます。以下の例は、onSuccess() メソッドを使用して応答を処理する方法を示しています。

以下の例は、Eclipse Vert.x 3.x リリースにおいて、result() メソッドで HTTP クライアントを使用する方法を示しています。

HttpClient client = vertx.createHttpClient(options);

    client.request(HttpMethod.GET, 8443, "localhost", "/")
      .onSuccess(request -> {
        request.onSuccess(resp -> {

        //Code to handle HTTP response
        });
      });

以下の例は、Eclipse Vert.x 4 の result() メソッドで HTTP クライアントを使用する方法を示しています。

HttpClient client = vertx.createHttpClient(options);

    client.request(HttpMethod.GET, 8443, "localhost", "/")
      .onSuccess(request -> {
        request.response().onSuccess(resp -> {

        //Code to handle HTTP response
        });
      });
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.