RESTful サービスの JAX-RS リソースの作成
統合オブジェクト用の JAX-RS リソースを作成するには、 「ZIETrans プロジェクト」ビューで次のようにします。
- 使用する統合オブジェクトが含まれるプロジェクトを展開し、続いてソース・フォルダー、IntegrationObject フォルダーを展開します。
- 統合オブジェクトを右マウス・ボタンでクリックし、 「RESTful サービス・ファイルの作成」を選択します。RESTful サービス・ファイルの作成ウィザードが開きます。
- 「JAX-RS リソース・クラス名と統合オブジェクトの指定」ページの「名前」フィールドに、Source フォルダーに 生成する JAX-RS リソース・クラスの名前を指定します。この名前は、汎用 Java™ クラスの名前構文に従っている必要があります。
- オプションで、「警告なしでリソースを上書き」するかどうかを選択します。
- 「次へ」をクリックします。
- 「JAX-RS リソース・クラスの構成」ページの「URI 接尾部」フィールドに、JAX-RS リソースへのマッピングで使用する完全な URI を作成する接尾部を指定します。例えば、ZIETrans RESTful サービスのインストール先のホストが www.myHost.com で 、ZIETrans プロジェクト (アプリケーション) 名が myApp、URI 接尾部が mySuffix の場合 、JAX-RS リソースに対する結果の URI は http://www.myHost.com:9080/myApp/rest/mySuffix になります。 注: URI と HTTP メソッドの組み合わせは、定義するすべての JAX-RS リソースの間で、固有である必要があります。これが固有でない場合、JAX-RS ランタイムは、消費コンテンツ・タイプと生成コンテンツ・タイプの組み合わせを使用し、 優先順位アルゴリズムに基づいて、呼び出すリソース関数の 1 つのみを選択します (RESTful サービスの JAX-RS リソース・メソッドのカスタマイズを参照)。
- デフォルトでは、「Swagger を有効にする」が選択されています。Swagger サポートを組み込みたくない場合は、これを無効にすることができます。「URI 接尾部を Swagger API 値にコピー」を選択することにより、「URI 接尾部」値を自動的に「Swagger API 値」フィールドコピーできます。「URI 接尾部を Swagger API 値にコピー」のチェック・マークを外せば、新しい値を入力できます。このフィールドの値は ZIETrans ツールキットによって、アノテーション @Api としてそれぞれのサービスに追加されます。
- 「追加」ボタンをクリックして、 少なくとも 1 つのメソッドをリソース・クラスに追加します。JAX-RS RESTful サービス・メソッドの定義ウィザードが開きます。
- 「HTTP メソッド」フィールドで、URI と組み合わせてこの JAX-RS リソース・メソッドへのマップに 使用する HTTP メソッド (GET、POST、PUT、DELETE) をドロップダウン・リストから選択します。
- このメソッドで統合オブジェクトを呼び出す場合は、「統合オブジェクトの使用」ボックスを選択します。統合オブジェクト処理コードを含まない空のメソッドを生成する場合は、このボックス をクリアします。独自のカスタマイズ済みメソッドを作成する場合は、 これを行ってください。
- 「統合オブジェクトの使用」ボックスを選択した場合は、ドロップダウン・リストから、このメソッドで呼び出す統合オブジェクトを選択します。
- 前のステップで「Swagger を有効にする」を選択した場合は、「Swagger API 演算値」フィールドにテキストを入力できます。このフィールドは、値を指定しない場合は無視されます。このフィールドの値は ZIETrans ツールキットによって、アノテーション @ApiOperation としてそれぞれのメソッドに追加されます。 注: パス /<ZIETranscontextroot>/rest/swagger.json を使用して ZIETrans RESTful Swagger 記述資料にアクセスできます。
- 「次へ」をクリックします。
- 「統合オブジェクトの使用」ボックスを選択した場合は、「統合オブジェクト・プロパティーの選択」ページが表示されます。RESTful Web サービスのパラメーターとして公開する 入出力のプロパティーを選択します。プロパティーの 別名を「別名」フィールドに指定することもできます。「全選択」ボタン、「全選択解除」ボタン、および「デフォルトを選択」ボタンを使用して、プロパティーを選択してください。 注:
- 単一統合オブジェクトおよび EJB Access Bean のデフォルトは、入力プロパティーに ついては全マクロ・プロンプト、出力プロパティーについては全マクロ抽出です。
- チェーニングされた統合オブジェクトのデフォルトは、入力プロパティー については、全マクロ・プロンプトと hPubLinkKey (必須)、出力プロパティー については、全マクロ抽出と hPubLinkKey (必須) です。
- チェーニングされた EJB Access Bean のデフォルトは、入力プロパティー については、全マクロ・プロンプトと hPubLinkKey および hPubAccessHandle (両者必須)、 出力プロパティーについては、全マクロ抽出と hPubLinkKey および hPubAccessHandle (両者必須) です。
- 統合オブジェクトの接続オーバーライドが Web サービスに公開されるよう指定する には、hPubConnectionOverrides プロパティーや hPubStartPoolName プロパティーなど、 デフォルトでは選択されない適切なプロパティーを選択する必要があります。詳しくは、『接続オーバーライドの指定』を参照してください。
- 他の統合オブジェクト・メソッドの使用について詳しくは、統合オブジェクトを使用したプログラミングを参照してください。
- 「次へ」をクリックします。
- 「JAX-RS リソース・メソッドの構成」ページでは、 選択した HTTP メソッドと統合オブジェクトを反映したデフォルトが設定されています。これらのメソッドの設定およびそのカスタマイズ方法について詳しくは、「RESTful サービスの JAX-RS リソース・メソッドのカスタマイズ」を参照してください。。
- 「完了」をクリックします。
- 「JAX-RS リソース・クラスの構成」ページの「メソッド」セクションに、追加したメソッドがリストされます。別のメソッドの追加には「追加」ボタンを、選択したメソッドの編集には「編集」ボタンを、選択したメソッドの削除には「除去」ボタンを使用します。
- 「完了」をクリックすると、ZIETrans が JAX-RS リソース・ファイルを作成し、プロジェクトの Source\restfulserviceclasses フォルダーに格納します。
- さらに、ZIETrans は、RestServlet サーブレットが一致を走査できるようにサービスのリストに JAX-RS リソースを追加します。このリストは、「ナビゲーター」ビューで表示可能な WEB-INF/wink-resources.lst ファイルで保守されます。 注:
- ZIETrans では、プロジェクトに最初の JAX-RS リソースが作成されるときに、WEB-INF/wink-resources.lst ファイルを作成します。
- これにより、ZIETrans アプリケーションのデフォルト WAR クラス・ローダー・ポリシーが、「アプリケーションの単一クラス・ローダー」に更新されます。
- ZIETrans では、JAX-RS ファセットのプロジェクトへの追加も行います。
- 「RESTful サービス・ファイルの作成」ウィザードを使用せずに JAX-RS リソース・ファイルを手動で作成した場合は、WEB-INF/wink-resources.lst ファイルを更新して、JAX-RS リソースを RestServlet サーブレットにマップする必要があります。