• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

最新Java情報局

Java SE 9の実験的API、HTTP/2 ClientのPOSTメソッドを学ぶ

櫻庭 祐一=Java in the Box 2017/09/07 ITpro

 HTTP/2 Clientは、Java SE 9におけるIncubator Moduleとして実験的に導入されました。前回は、HTTP/2 Clientの基本的な使用法として、HTTPのGETメソッドを使用してリソースを取得するまでを解説しました。今月は、前回の続きとしてPOSTメソッドを使用してみましょう。

POSTメソッド

 POSTを使用する手順は、前回使用したGETとほぼ同じです。おおまかな手順は以下のようになります。

  1. HttpClientオブジェクトの生成
  2. HttpRequestオブジェクトを生成し、HTTPリクエストを作成
  3. HttpClientオブジェクトから、HTTPリクエストを送信
  4. HttpResponseオブジェクトを使用して、HTTPレスポンスを処理

 GETとの違いは、(2)のHTTPリクエストの作成部分です。

 POSTとGETの使用上の違いの1つにボディの送信があります。POSTではボディを送信できますが、まずはボディを送信せずに試してみましょう(リスト1)。

リスト1●POSTの使用例

// 1. HttpClientオブジェクトの生成
HttpClient client = HttpClient.newBuilder()
                              .followRedirects(HttpClient.Redirect.ALWAYS)
                              .build();

// 2. HTTPリクエストの作成
HttpRequest request = HttpRequest.newBuilder(URI.create("http://localhost:8084/demo"))
                                 .POST(HttpRequest.noBody())
                                 .build();

// 3. HTTPリクエストの送信
HttpResponse<String> response = client.send(
        request,
        HttpResponse.BodyHandler.asString()
);

// 4. HTTPレスポンスの処理は省略

 HttpClientオブジェクトの生成はGETの場合と同じです。ここでは、前回紹介したようにリダイレクトを行うように指定してあります。また、HTTPリクエストの送信およびHTTPレスポンスの処理もGETの場合と同じです。

 唯一異なるのが、HTTPリクエストの作成部分です。HttpRequestクラスのnewBuilderメソッドでHttpRequest.Builderオブジェクトを生成します。引数はURIです。ここでは、テスト用にローカルの8084ポートでWebサーバーを起動しています。

 POSTを使用する場合、赤字で示したようにPOSTメソッドを使用します。GETメソッドは引数がありませんでしたが、POSTメソッドはHttpRequest.BodyProcessorインタフェースの引数をとります。POSTでボディを送信する場合、この引数で指定します。しかし、ここではボディを送信しないため、HttpRequestクラスのnoBodyメソッドを使用します(青字部分)。

最後に、buildメソッドでHttpRequestオブジェクトを生成するのも、GETの場合と同じです。なお、sendメソッドでのjava.io.IOException例外の例外処理は省略してあります。

ここから先はITpro会員(無料)の登録が必要です。

次ページ フォームの送信
  • 1
  • 2
  • 3
  • 4
  • 5

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

  • 【FPGAって何?】

    FPGAは普通のプロセッサと何が違うのか

     数年前から、FPGAに高い関心が集まりつつある。FPGAそのものは1980年代に初めて製品が登場しているから、もう30年ほどの歴史になるが、人気が上がり始めたのは2010年あたりからになる。これにはいくつかの理由がある。今回はFPGAの特徴と、利用が広がった理由を解説する。

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

ネットワーク/通信サービス

セキュリティ

もっと見る