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リソース・ハンドラを比較します。