RESTful サービスの JAX-RS リソース・メソッドのカスタマイズ

ZIETrans RESTful サービスの JAX-RS リソース・メソッドをカスタマイズして、application/xml と application/json 以外のコンテンツ・タイプを処理したり、メソッド・パラメーターを定義したりする場合は、以下の手順を実行します。
  1. RESTful サービスの JAX-RS リソースの作成またはRESTful サービスの JAX-RS リソースの更新の手順に従ってください。
  2. 「JAX-RS リソース・クラスの構成」ページで、新規メソッドを追加する場合は「追加」をクリックし、 強調表示されているメソッドを編集する場合は「編集」をクリックします。
  3. HTTP メソッド、統合オブジェクト、および統合オブジェクトのプロパティーを適宜設定します。
  4. 「JAX-RS リソース・メソッドの構成」ページの「メソッド名」フィールドに Java™ メソッド名を指定します。
  5. 「URI 接尾部」フィールドで、パスへの追加要素をすべて追加し、URI パラメーターに対する すべての定義を {name} のフォーマットで PathParam パラメーターとして追加します。
  6. 「戻りタイプ」フィールドで、このメソッドが返す Java タイプを追加または変更します。デフォルトは restfulserviceclasses.JAX-RS resource class name+ _resource method name+ _Output_Properties です。
  7. 「消費」フィールドには、HTTP 要求本体の入力でサポートするコンテンツ・タイプ (Internet Media Type、つまり MIME タイプ) がリストされます。要求メッセージでサポートするコンテンツ・タイプを追加または変更してください。コンマで分離して複数のコンテンツ・タイプを指定できます。ZIETrans は、application/xml および application/json をデフォルトとしてサポートしています。これは、HTTP メソッドが POST または PUT の場合に限り該当します。HTTP GET メソッドおよび DELETE メソッドには、HTTP 要求本体 がなく、「消費」フィールドに対応しません。これらのメソッドの場合は、 代わりに、コンテンツ・タイプに application/x-www-form-urlencoded を指定 した URI パラメーターとして入力を提供する必要があります。詳しくは、『コンテンツの処理』を参照してください。
  8. 「生成」フィールドには、HTTP 応答本体の出力でサポートする コンテンツ・タイプがリストされます。応答メッセージでサポートするコンテンツ・タイプを追加または変更してください。コンマで分離して複数のコンテンツ・タイプを指定できます。ZIETrans は、application/xml および application/json をデフォルトとしてサポートしています。詳しくは、『コンテンツの処理』を参照してください。
  9. 「メソッド・パラメーター」フィールドで、このメソッドが サポートする入力パラメーターを追加または変更します。「追加」ボタン、「編集」ボタン、および「除去」ボタンを使用して、このメソッドの入力パラメーターを作成、変更、および削除してください。
  10. 入力パラメーターを作成または変更する場合は、「メソッド・パラメーター」ページ で以下のフィールドに入力します。詳しくは、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 オブジェクト) です。
このセクションで説明されているようにメソッド・パラメーターを変更すると、ZIETrans では、統合オブジェクトのパラメーターをマップせず、変更された Java メソッドのためのその他の処理を実行しません。この場合は、JAX-RS リソース・クラス・ファイルを 編集し、これを独自で実装する必要があります。