7.5 ORDSベースのRESTfulサービス・モジュールの例の作成方法
ORDSベースのRESTfulサービス・モジュールの例の作成方法を学習します。
Oracle APEXワークスペースには、デフォルトで、RESTfulサービス・モジュールの例(oracle.example.hr)が含まれます。ORDSにスキーマを登録する際には、サンプル・サービスをインストールできます。
- RESTfulサービス・モジュールの例(oracle.example.hr)について
ORDSベースのRESTfulサービスでは、ORDSにスキーマを登録する際にサンプル・サービスoracle.example.hrをインストールすることもできます。 - PL/SQLブロックに基づく結果セットの返却(empsecformat/:empname)
PL/SQLブロックを使用して結果を書式設定する独自のリソース・テンプレートを追加してテストできます。 - ページ区切りセットを使用したJSON形式での結果セットの返却(employees/)
JSON形式でデータを取得してページ区切りを実行する独自のリソース・テンプレートを追加してテストできます。 - パラメータに基づくデータの取得(employees/:id)
パラメータに基づいて従業員データを取得する独自のリソース・テンプレートを追加してテストできます。 - CSV形式で結果セットの返却(empinfo/)
CSV形式でデータを取得する独自のRESTfulサービス・モジュールの例を構築してテストできます。 - フィードとしての結果セットの返却(employeesfeed/)
フィードとして返されるデータを表示する独自のリソース・テンプレートを追加してテストできます。
親トピック: RESTfulサービスを使用したデータ交換の有効化
7.5.1 RESTfulサービス・モジュール(oracle.example.hr)例について
ORDSベースのRESTfulサービスでは、ORDSにスキーマを登録する際にサンプル・サービスoracle.example.hrをインストールすることもできます。
このモジュールは、emp表から従業員情報を取得して表示する複数の方法を実装するリソース・テンプレートおよびリソース・ハンドラの例を示します。oracle.example.hrモジュールにアクセスするには、「RESTfulサービスへのアクセス」を参照してください。
oracle.example.hrモジュールは、複数のリソース・テンプレートで構成されています。各リソース・テンプレートは、それぞれ異なった方法で、情報を取得して返される結果を書式設定します。
次に、各GETリソース・ハンドラを起動した際に、各oracle.example.hrリソース・テンプレートで予期される結果を示します。
-
empsec/:empname: 指定された従業員名(empname)に関する従業員情報がJSONで返されて表示されます。 -
empsecformat/:empname: 指定された従業員名(empname)に関する従業員情報が、PL/SQLブロックの実行に基づいて返されて書式設定されます。 -
employees/- 従業員のemp表から、ページ区切りサイズが7に設定されたJSON形式で従業員情報が表示されます。最初、前および次へのリンクを使用して、結果を参照できます。 -
バージョン/- RESTfulサービス・モジュールのバージョンを返します。 -
employees/:id: 従業員のemp表から、指定されたidに関する従業員情報が返されます。 -
empinfo/- 従業員のemp表から、従業員情報がCSV形式で返されます。 -
employeesfeed/ - 従業員のemp表から、従業員情報がJSONフィードとして返されます。 -
employeesfeed/:id: 従業員のemp表から、指定されたidに関する従業員情報がJSON形式で表示されます。
次に示す結果は、PUTリソース・ハンドラが起動されたときに、employees/:idリソース・テンプレートに対して予期されるものです。
-
employees/:id: 従業員のemp表で特定のidに対応する従業員情報が更新されます。
関連項目:
RESTfulサービスへのアクセス7.5.2 PL/SQLブロックに基づく結果セットの返却(empsecformat/:empname)
PL/SQLブロックを使用して結果を書式設定するリソース・テンプレートを追加してテストできます。
oracle.example.hrモジュールには、PL/SQLブロックによって書式設定されたSQL問合せの結果を返すRESTfulサービスを示すempsecformat/:empnameリソース・テンプレートが含まれます。
PL/SQLブロックを使用して結果を書式設定するリソース・テンプレートを追加してテストするには:
7.5.3 ページ区切りセットを使用したJSON形式での結果セットの返却(employees/)
JSON形式でデータを取得してページ区切りを実行するリソース・テンプレートを追加してテストできます。
oracle.example.hrモジュールには、JSON形式でデータを戻すRESTfulサービスを示すemployees/リソース・テンプレートが含まれます。この例では、ページ区切りバインド変数を通じて、ページ区切りセットを使用したJSON形式で結果セットが返されます。ページ区切りバインド変数は、:row_offsetおよび:row_countです。
JSON形式で結果を返すリソース・テンプレートのその他の例は、oracle.example.hrサービス・モジュールのempsec/{empname}リソース・テンプレートを参照してください。
JSON形式でデータを取得してページ区切りを実行するリソース・テンプレートを追加してテストするには:
7.5.4 パラメータに基づくデータの取得(employees/:id)
パラメータに基づいて従業員データを取得するリソース・テンプレートを追加してテストできます。
oracle.example.hrモジュールには、指定されたidに基づく1行分のデータをJSON形式で返すRESTfulサービスを示すemployees/:idリソース・テンプレートが含まれます。
指定されたパラメータに基づいて結果を返すリソース・テンプレートのその他の例は、oracle.example.hrサービス・モジュールのemployeesfeed/:id、empsec/:empnameおよびempsecformat/:empnameリソース・テンプレートを参照してください。
パラメータに基づいて従業員データを取得するリソース・テンプレートを追加してテストするには:
7.5.5 CSV形式での結果セットの返却(empinfo/)
CSV形式でデータを取得するRESTfulサービス・モジュールの例を構築してテストできます。
oracle.example.hrモジュールには、CSV形式でデータを返すRESTfulサービスを示すempinfo/リソース・テンプレートが含まれます。この例では、emp表の従業員データはすべて、SQL問合せを使用して返されます。
CSV形式でデータを取得するRESTfulサービス・モジュールの例を構築してテストするには:
7.5.6 フィードとしての結果セットの返却(employeesfeed/)
フィードとして返されるデータを表示するリソース・テンプレートを追加してテストできます。
oracle.example.hrモジュールには、emp表からempnoおよびenameの値を返し、それらの値をフィードとして表示するRESTfulサービスを示すemployeesfeed/リソース・テンプレートが含まれます。
フィード・リソース・ハンドラは、SQL問合せを実行し、結果をJSON Feed形式に変換します。フィードの各アイテムには、リソースのサマリーと、リソースの完全形式へのハイパーリンクが含まれます。結果セットの各行の最初の列は、その行の一意の識別子である必要があり、path/to/feed/{id}という形式のハイパーリンクを生成するために使用されます(最初の列の値が{id}の値として使用されます)。その行の他の列は、リソースを要約するとみなされ、フィードに含まれます。リソースの完全形式のリソース・テンプレートも、別途定義する必要があります。
フィードとして返されるデータを表示するリソース・テンプレートを追加してテストするには:
