プライマリ・コンテンツに移動
Oracle® Application Express SQLワークショップ・ガイド
リリース5.1
E85938-02
目次へ移動
目次
索引へ移動
索引

前
次

6.8 リソース・ハンドラの管理

リソース・ハンドラは、特定のHTTPメソッドを処理するための問合せまたは無名PL/SQLブロックです。

リソース・テンプレートには複数のリソース・ハンドラを定義できますが、HTTPメソッドに定義できるリソース・ハンドラは1つのみです。

リソース・ハンドラのパラメータを手動で定義すると、リソース・ハンドラのHTTPヘッダーにバインドすることも、URIテンプレート・パラメータを特定のデータ型にキャストすることもできます。URIテンプレートで宣言されたパラメータは、リソース・ハンドラに暗黙的に渡されます。たとえば、生成される表示内容をローカライズするには、リソース・ハンドラがHTTPのAccept-Languageヘッダーの値を知る必要があります。

6.8.1 リソース・ハンドラの追加

リソース・テンプレートにリソース・ハンドラを追加する方法を学習します。

リソース・テンプレートにリソース・ハンドラを追加するには、次のステップを実行します。

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「RESTfulサービス」をクリックします。

    「RESTfulサービス」ホームページが表示されます。

  2. リソース・ハンドラの追加先とするRESTfulサービスをクリックします。

    RESTfulサービス・モジュールのページが表示されます。

  3. 左のパネルの関連するリソース・テンプレートの下で、「ハンドラの作成」をクリックします。

    リソース・ハンドラの設定が右のパネルに表示されます。

  4. 適切なフィールドに入力し、適切なオプションを選択します。必須フィールドには、赤いアスタリスク(*)が付いています。特定のオプションの詳細は、フィールドレベル・ヘルプを参照してください。
  5. 「リソース・ハンドラ」で、次を指定します。
    • 方法: リソース・ハンドラに使用するHTTPメソッドを指定します。フィールドレベル・ヘルプを参照してください。

    • ソース・タイプ: リソースの生成に使用する計画タイプを指定します。フィールドレベル・ヘルプを参照してください。

    • セキュア・アクセスが必要: HTTPSなど、セキュアなチャネルを介してリソースにアクセスするかどうかを指定します。セキュア・アクセスが必要な場合は、「はい」に設定します。

    • ページ区切りサイズ: ページ区切りウィンドウのサイズを指定します。データベース問合せの場合、これは返される行の数です。

  6. 「ソース」に、選択したHTTPメソッドを処理するSQL問合せまたはPL/SQLブロックを入力します。詳細は、ページ下部の「例」をクリックします。
  7. 「作成」をクリックします。

    RESTfulサービス・モジュールのページが表示されます。

  8. リソース・ハンドラにパラメータを追加するには、次のステップを実行します。
    1. 「パラメータの作成」をクリックします。

      「リソース・ハンドラ・パラメータ」パネルに、パラメータ設定が表示されます。

    2. 「名前」に、特定のパラメータ名を入力します。

    3. 「バインド変数名」に、SQL問合せまたはPL/SQLブロック内で使用されるパラメータのバインド変数名を入力します。

    4. 「アクセス方法」で、HTTPメソッドを選択します。オプションには、「IN」、「IN/OUT」または「OUT」があります。「URIテンプレート」パラメータの設定は、「IN」のみです。ヘッダー・パラメータに「IN」の値を指定すると、HTTPリクエストにヘッダーが使用されます。「IN/OUT」の値を指定すると、その値がHTTPリクエストとレスポンスの両方に使用されます。「OUT」の値を指定すると、その値がHTTPレスポンスのみに使用されます。

    5. 「ソース・タイプ」で、パラメータ・ソース・タイプを選択します。

    6. 「パラメータ・タイプ」で、パラメータのデータ型を選択します。

    7. 「作成」をクリックします。

      リソース・ハンドラ・ページが表示され、右のパネル下部の「パラメータ」に、追加したパラメータが表示されます。

    8. 追加する各パラメータについて、ここで説明したステップを繰り返します。

  9. リソース・ハンドラの動作をテストするには、次のステップを実行します。
    1. 「変更の適用」をクリックします。

    2. SQL問合せまたはPL/SQLブロックにバインド変数が含まれる場合は、テストの前に、「バインド変数の設定」をクリックしてバインド変数を定義します。

    3. 「テスト」をクリックします。

      新しいウィンドウに、RESTfulサービスを実行した結果がJSONで表示されます。テストに使用されるURLは、URI接頭辞およびURIテンプレートの値と、任意のパラメータで構成されます。

    注意:

    「テスト」ボタンおよび「バインド変数の設定」テスト・オプションは、GETメソッドのテストにのみ使用するようにし、サポートされる他の3つのメソッド(PUT、POST、DELETE)のテストには使用しないでください。

    注意:

    テスト結果の読取りを簡単にするには、ブラウザにJSON Viewerをインストールすることをお薦めします。

6.8.2 リソース・ハンドラの編集

リソース・ハンドラを編集する方法を学習します。

リソース・ハンドラを編集するには、次のステップを実行します。

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「RESTfulサービス」をクリックします。

    「RESTfulサービス」ホームページが表示されます。

  2. リソース・ハンドラが属するリソース・サービス・モジュールの名前をクリックします。

    RESTfulサービス・モジュールのページが表示されます。

  3. 「RESTfulサービス」ツリーで、編集するリソース・ハンドラをクリックします。

    リソース・ハンドラの設定が右のパネルに表示されます。

  4. 必要な変更を行います。
  5. 「変更の適用」をクリックします。

    RESTfulサービス・モジュールのページが表示されます。

6.8.3 リソース・ハンドラの削除

リソース・ハンドラを削除する方法を学習します。

リソース・ハンドラを削除するには、次のステップを実行します。

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「RESTfulサービス」をクリックします。

    「RESTfulサービス」ホームページが表示されます。

  2. リソース・ハンドラが属するモジュールの名前をクリックします。

    RESTfulサービス・モジュールのページが表示されます。

  3. 「RESTfulサービス」ツリーで、削除するリソース・ハンドラをクリックします。

    リソース・ハンドラの設定が右のパネルに表示されます。

  4. 「削除」をクリックします。
  5. 「OK」をクリックして確定します。

    RESTfulサービス・モジュールが表示されます。