Red Hat Training

A Red Hat training course is available for Red Hat Fuse

47.2.4. HTML フォームからのデータの挿入

概要

HTML フォームでは、ユーザーから情報を簡単に取得する方法で、作成も簡単です。フォームデータは、HTTP GET リクエストおよび HTTP POST リクエストに使用できます。

GET
フォームデータが HTTP GET リクエストの一部として送信されると、データはクエリーパラメーターのセットとして URI に追加されます。クエリーパラメーターからのデータの注入については、「クエリーパラメーターの使用」 で説明します。
POST
フォームデータが HTTP POST の一部として送信されると、データは HTTP メッセージボディーに配置されます。フォームデータは、対象のフォームデータをサポートする通常のエンティティーパラメーターを使用して処理できます。また、@FormParam アノテーションを使用してデータを抽出し、リソースメソッドのパラメーターに注入することによって処理することもできます。

@FormParam アノテーションを使用したフォームデータの挿入

javax.ws.rs.FormParam アノテーションは、フィールド値をフォームデータから抽出し、値をリソースメソッドパラメーターに注入します。このアノテーションでは、値を抽出するフィールドのキーを指定する単一のパラメーターを指定できます。関連するパラメーターは、「サポートされるデータタイプ」 に記載のデータタイプに準拠する必要があります。

重要

JAX-RS API Javadoc には、@FormParam アノテーションをフィールド、メソッド、およびパラメーターに配置できると記載されています。ただし、@FormParam アノテーションは、リソースメソッドパラメーターに配置する場合にのみ意味があります。

リソースメソッドパラメーターへのフォームデータの挿入 は、フォームデータをパラメーターに注入するリソースメソッドを示しています。このメソッドは、クライアントのフォームに文字列データが含まれる titletags、および body の 3 つのフィールドが含まれていることを前提としています。

リソースメソッドパラメーターへのフォームデータの挿入

import javax.ws.rs.FormParam;
import javax.ws.rs.POST;

...
@POST
public boolean updatePost(@FormParam("title") String title,
                          @FormParam("tags") String tags,
                          @FormParam("body") String post)
{
  ...
}