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
アノテーションは、リソースメソッドパラメーターに配置する場合にのみ意味があります。
例
リソースメソッドパラメーターへのフォームデータの挿入 は、フォームデータをパラメーターに注入するリソースメソッドを示しています。このメソッドは、クライアントのフォームに文字列データが含まれる title
、tags
、および 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) { ... }