RESTfulサービス・モジュールの例の作成方法を学習します。
Oracle Application Expressワークスペースには、デフォルトで、RESTfulサービス・モジュールの例(oracle.example.hr)が含まれます。
oracle.example.hrが含まれます。すべてのワークスペースには、RESTful Webサービス・モジュールの例、oracle.example.hrが含まれます。
このモジュールは、emp表から従業員情報を取得して表示する複数の方法を実装するリソース・テンプレートおよびリソース・ハンドラの例を示します。oracle.example.hrモジュールにアクセスするには、「RESTfulサービスへのアクセス」を参照してください。
oracle.example.hrモジュールは、複数のリソース・テンプレートで構成されています。各リソース・テンプレートは、それぞれ異なった方法で、情報を取得して返される結果を書式設定します。
次に、各GETリソース・ハンドラを起動した際に、各oracle.example.hrリソース・テンプレートで予期される結果を示します。
empinfo/: 従業員のemp表から、従業員情報がCSV形式で返されます。
employees/: 従業員のemp表から、ページ区切りサイズが7に設定されたJSON形式で従業員情報が表示されます。最初、前および次へのリンクを使用して、結果を参照できます。
employees/{id}: 従業員のemp表から、指定されたidに関する従業員情報が返されます。中括弧は、URIの一部として送信されるパラメータを示します。
employeesfeed/: 従業員のemp表から、従業員情報がJSONフィードとして返されます。
employeesfeed/{id}: 従業員のemp表から、指定されたidに関する従業員情報がJSON形式で表示されます。中括弧は、URIの一部として送信されるパラメータを示します。
empsec/{empname}: 指定された従業員名(empname)に関する従業員情報がJSONで返されて表示されます。中括弧は、URIの一部として送信されるパラメータを示します。
empsecformat/{empname}: 指定された従業員名(empname)に関する従業員情報が、PL/SQLブロックの実行に基づいて返されて書式設定されます。中括弧は、URIの一部として送信されるパラメータを示します。
次に示す結果は、PUTリソース・ハンドラが起動されたときに、employees/[id]リソース・テンプレートに対して予期されるものです。
employees/{id}: 従業員のemp表で特定のidに対応する従業員情報が更新されます。中括弧は、URIの一部として送信されるパラメータを示します。リクエストが成功したかどうかの確認に使用できる、ステータス・コードが返されます。
関連項目:
その他のRESTfulサービスの例については、Oracle Learning Libraryを参照してください。移動先: http://www.oracle.com/oll/apex
empinfo/)CSV形式でデータを取得するRESTfulサービス・モジュールの例を構築してテストできます。
oracle.example.hrモジュールには、CSV形式でデータを返すRESTfulサービスを示すempinfo/リソース・テンプレートが含まれます。この例では、emp表の従業員データはすべて、SQL問合せを使用して返されます。
CSV形式でデータを取得するRESTfulサービス・モジュールの例を構築してテストするには、次のステップを実行します。
employees/{id})パラメータに基づいて従業員データを取得するリソース・テンプレートを追加してテストできます。
oracle.example.hrモジュールには、指定されたidに基づく1行分のデータをJSON形式で返すRESTfulサービスを示すemployees/{id}リソース・テンプレートが含まれます。
指定されたパラメータに基づいて結果を返すリソース・テンプレートのその他の例は、oracle.example.hrサービス・モジュールのemployeesfeed/{id}、empsec/{empname}およびempsecformat/{empname}リソース・テンプレートを参照してください。
パラメータに基づいて従業員データを取得するリソース・テンプレートを追加してテストするには、次のステップを実行します。
注意:
結果が正しくない場合は、employees/{id} GETリソース・ハンドラとoracle.example.hr employees/{id} GETリソース・ハンドラを比較します。
employees/)JSON形式でデータを取得してページ区切りを実行するリソース・テンプレートを追加してテストできます。
oracle.example.hrモジュールには、JSON形式でデータを戻すRESTfulサービスを示すemployees/リソース・テンプレートが含まれます。この例では、ページ区切りバインド変数を通じて、ページ区切りセットを使用したJSON形式で結果セットが返されます。ページ区切りバインド変数は、:row_offsetおよび:row_countです。
JSON形式で結果を返すリソース・テンプレートのその他の例は、oracle.example.hrサービス・モジュールのempsec/{empname}リソース・テンプレートを参照してください。
JSON形式でデータを取得してページ区切りを実行するリソース・テンプレートを追加してテストするには、次のステップを実行します。
employeesfeed/)フィードとして返されるデータを表示するリソース・テンプレートを追加してテストできます。
oracle.example.hrモジュールには、emp表からempnoおよびenameの値を返し、それらの値をフィードとして表示するRESTfulサービスを示すemployeesfeed/リソース・テンプレートが含まれます。
フィード・リソース・ハンドラは、SQL問合せを実行し、結果をJSON Feed形式に変換します。フィードの各アイテムには、リソースのサマリーと、リソースの完全形式へのハイパーリンクが含まれます。結果セットの各行の最初の列は、その行の一意の識別子である必要があり、path/to/feed/{id}という形式のハイパーリンクを生成するために使用されます(最初の列の値が{id}の値として使用されます)。その行の他の列は、リソースを要約するとみなされ、フィードに含まれます。リソースの完全形式のリソース・テンプレートも、別途定義する必要があります。
フィードとして返されるデータを表示するリソース・テンプレートを追加してテストするには、次のステップを実行します。
注意:
結果が正しくない場合は、employeesfeed/ GETリソース・ハンドラとoracle.example.hr employeesfeed GETリソース・ハンドラを比較します。
empsecformat/{empname})PL/SQLブロックを使用して結果を書式設定するリソース・テンプレートを追加してテストできます。
oracle.example.hrモジュールには、PL/SQLブロックによって書式設定されたSQL問合せの結果を返すRESTfulサービスを示すempsecformat/{empname}リソース・テンプレートが含まれます。
PL/SQLブロックを使用して結果を書式設定するリソース・テンプレートを追加してテストするには、次のステップを実行します。
注意:
結果が正しくない場合は、empsecformat/{empname} GETリソース・ハンドラとoracle.example.hr empsecformat/{empname} GETリソース・ハンドラを比較します。
employees/{id})パラメータに基づいて従業員データを更新するリソース・テンプレートを追加してテストできます。
oracle.example.hrモジュールには、RESTfulサービスの実例を示すためのemployees/{id}リソース・テンプレートが含まれています。このテンプレートでは、指定されたidに基づいてJSON形式のデータの行を1行更新して、HTTPステータス・コードを返します。リクエストが成功したかどうかは、このコードによって検証できます。
パラメータに基づいて従業員データを更新する独自のリソース・テンプレートを追加およびテストするには:
注意:
結果が正しくない場合は、employees/{id} PUTリソース・ハンドラとoracle.example.hr employees/{id} PUTリソース・ハンドラを比較します。