RESTful サービスの JAX-RS リソース・メソッドのカスタマイズ
ZIETrans RESTful サービスの JAX-RS リソース・メソッドをカスタマイズして、application/xml と application/json 以外のコンテンツ・タイプを処理したり、メソッド・パラメーターを定義したりする場合は、以下の手順を実行します。
- RESTful サービスの JAX-RS リソースの作成またはRESTful サービスの JAX-RS リソースの更新の手順に従ってください。
- 「JAX-RS リソース・クラスの構成」ページで、新規メソッドを追加する場合は「追加」をクリックし、 強調表示されているメソッドを編集する場合は「編集」をクリックします。
- HTTP メソッド、統合オブジェクト、および統合オブジェクトのプロパティーを適宜設定します。
- 「JAX-RS リソース・メソッドの構成」ページの「メソッド名」フィールドに Java™ メソッド名を指定します。
- 「URI 接尾部」フィールドで、パスへの追加要素をすべて追加し、URI パラメーターに対する すべての定義を {name} のフォーマットで PathParam パラメーターとして追加します。
- 「戻りタイプ」フィールドで、このメソッドが返す Java タイプを追加または変更します。デフォルトは restfulserviceclasses.JAX-RS resource class name+ _resource method name+ _Output_Properties です。
- 「消費」フィールドには、HTTP 要求本体の入力でサポートするコンテンツ・タイプ (Internet Media Type、つまり MIME タイプ) がリストされます。要求メッセージでサポートするコンテンツ・タイプを追加または変更してください。コンマで分離して複数のコンテンツ・タイプを指定できます。ZIETrans は、application/xml および application/json をデフォルトとしてサポートしています。これは、HTTP メソッドが POST または PUT の場合に限り該当します。HTTP GET メソッドおよび DELETE メソッドには、HTTP 要求本体 がなく、「消費」フィールドに対応しません。これらのメソッドの場合は、 代わりに、コンテンツ・タイプに application/x-www-form-urlencoded を指定 した URI パラメーターとして入力を提供する必要があります。詳しくは、『コンテンツの処理』を参照してください。
- 「生成」フィールドには、HTTP 応答本体の出力でサポートする コンテンツ・タイプがリストされます。応答メッセージでサポートするコンテンツ・タイプを追加または変更してください。コンマで分離して複数のコンテンツ・タイプを指定できます。ZIETrans は、application/xml および application/json をデフォルトとしてサポートしています。詳しくは、『コンテンツの処理』を参照してください。
- 「メソッド・パラメーター」フィールドで、このメソッドが サポートする入力パラメーターを追加または変更します。「追加」ボタン、「編集」ボタン、および「除去」ボタンを使用して、このメソッドの入力パラメーターを作成、変更、および削除してください。
- 入力パラメーターを作成または変更する場合は、「メソッド・パラメーター」ページ で以下のフィールドに入力します。詳しくは、JAX-RS 仕様 (http://jcp.org/aboutJava/communityprocess/final/jsr311/index.html) を参照してください。
- パラメーター・タイプ
- ドロップダウンから、JAX-RS 指定に定義されている 以下のいずれかのタイプを選択します。
- Entity - 要求のエンティティー本体から抽出されるアノテーションなしのパラメーターで、例えば、通常の Java オブジェクトです。
- CookieParam - パラメーター値は、HTTP Cookie から抽出されます。
- FormParam - パラメーター値は、HTML フォーム・パラメーターから抽出されます。
- HeaderParam - パラメーター値は、HTTP ヘッダーから抽出されます。
- MatrixParam - パラメーター値は、URI マトリックス・パラメーターから抽出されます。
- PathParam - パラメーター値は、要求の URI パスから抽出されます。
- QueryParam - パラメーター値は、URI 照会パラメーターから抽出されます。
- Context - パラメーター値は、Web アプリケーション・コンテキストから抽出されます。
- パラメーター名
- パラメーターの名前。CookieParam、FormParam、HeaderParam、 MatrixParam、PathParam、および QueryParam で使用されます。
- デフォルト値
- パラメーターが見つからない場合のデフォルト値。CookieParam、FormParam、HeaderParam、 MatrixParam、PathParam、および QueryParam で使用されます。
- タイプ
- 入力パラメーターの Java タイプ。
- Name
- 入力パラメーター名。
注: 各 JAX-RS リソースは、メソッドを 1 つ以上含む必要があります。「統合オブジェクトの使用」オプションを選択している場合、このメソッドは、統合オブジェクトの入出力パラメーターをマップし、統合オブジェクトを呼び出す ZIETrans RESTful ラッパーを含みます。ZIETrans は、デフォルトでは、次のように パラメーターを統合オブジェクトにマップします。
- HTTP PUT または POST の場合、入力パラメーターは単一エンティティー (Entity) と してマップされます。
- HTTP GET または DELETE の場合、入力パラメーターは照会パラメーター (QueryParam) と してマップされます。
- 出力戻りタイプは、常にエンティティー (Java オブジェクト) です。