7.5 ORDSベースのRESTfulサービス・モジュールの例の作成方法
ORDSベースのRESTfulサービス・モジュールの例の作成方法を学習します。
Oracle Application Expressワークスペースには、デフォルトで、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サービスの例については、Oracle Learning Libraryを参照してください。移動先: http://www.oracle.com/oll/apex
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}の値として使用されます)。その行の他の列は、リソースを要約するとみなされ、フィードに含まれます。リソースの完全形式のリソース・テンプレートも、別途定義する必要があります。
フィードとして返されるデータを表示するリソース・テンプレートを追加してテストするには: