4.6 RESTful Webサービスの作成
「モジュール」、「テンプレート」および「ハンドラ」ページを使用して、RESTful Webサービスを作成します。
RESTful Webサービスを作成するには、次の操作を実行する必要があります。
-
リソース・モジュールの定義
-
リソース・テンプレートの定義
-
GET、PUT、POST、DELETEなど、1つ以上のリソース・ハンドラの定義。オプションで、リソース・ハンドラに渡す必要があるパラメータを定義します。
次の各項では、リソース・モジュール、リソース・テンプレートおよびリソース・ハンドラの作成方法について説明します。
4.6.1 リソース・モジュールの管理
「モジュール」ページで、リソース・モジュールを定義、編集および削除できます。
「モジュール」ページに移動するには、RESTの概要ページで、「オブジェクト」の「モジュール」をクリックするか、ヘッダーのメニューから「モジュール」を選択します。
次の図に、カード・ビューにデフォルトで表示されるモジュール属性を示します。
モジュール・ステータスは公開または非公開にできます。ステータスが非公開の場合、アイコンは赤色で表示されます。
カード・ビューでモジュール名をクリックすると、そのモジュールの「テンプレート」ページにナビゲートします。コンテキスト・メニューから「テンプレート」ページにナビゲートすることもできます。
コンテキスト・メニューで使用できるアクションは次のとおりです。
-
モジュールの「テンプレート」ページへのナビゲート
関連項目:
REST検索ツールバーについて4.6.1.2 リソース・モジュールの編集
この項では、リソース・モジュールの編集方法について説明します。
- 「モジュール」ページで、特定のモジュールのをクリックし、「編集」を選択します。
- 必要なフィールドを編集して、「保存」をクリックします。フィールドの説明は、リソース・モジュールの作成を参照してください。
4.6.1.5 リソース・モジュールのエクスポート
リソース・モジュールまたはRESTfulサービスのPL/SQLソース・コードまたはOpen API (Swagger) JSONコードをエクスポートできます。モジュールにテンプレート、ハンドラ、パラメータ、ロールなどがある場合は、これらのオブジェクトも表示およびエクスポートされます。
- 「モジュール」ページで、特定のモジュールのをクリックし、「モジュールのエクスポート」を選択します。
- 「PL/SQL」を選択して、モジュールのPL/SQLソース・コードをコピーまたはエクスポートします。「OpenAPI」を選択して、モジュールのOpen API (Swagger) JSONコードをコピーまたはエクスポートします。
- 「クリップボードにコピー」をクリックしてコードをコピーするか、「ダウンロード」をクリックしてローカル・コンピュータにダウンロードします。
4.6.2 リソース・テンプレートの管理
「テンプレート」ページで、モジュールのリソース・テンプレートを定義、編集および削除できます。
このページにナビゲートするには、「モジュール」ページで、モジュールのをクリックして「テンプレート」を選択するか、カード・ビューでモジュールの名前をクリックします。
ページ上部にある「編集」、「削除」、「公開」、「エクスポート」などのコンテキスト・メニュー・オプションではモジュール・カードを使用できます。
次の図に、カード・ビューにデフォルトで表示されるテンプレート属性を示します。
カード・ビューでテンプレート名をクリックすると、ハンドラ・ページに移動します。コンテキスト・メニューから「ハンドラ」ページにナビゲートすることもできます。
コンテキスト・メニューで使用できるアクションは次のとおりです。
-
テンプレートの「ハンドラ」ページへのナビゲート
4.6.3 リソース・ハンドラの管理
「ハンドラ」ページで、テンプレートのリソース・ハンドラを作成、編集および削除できます。
このページにナビゲートするには、「テンプレート」ページで、テンプレートのをクリックして「ハンドラ」を選択するか、カード・ビューでテンプレートの名前をクリックします。
ページ上部にある「編集」や「削除」などのコンテキスト・メニュー・オプションではテンプレート・カードを使用できます。
次の図に、カード・ビューにデフォルトで表示されるハンドラ属性を示します。
HTTPメソッドは、GET、PUT、POSTおよびDELETEのいずれかです。
ハンドラ名をクリックしてHTTPメソッド・ページに移動するか、コンテキスト・メニューを使用してHTTPメソッド・ページにナビゲートすることもできます。
コンテキスト・メニューで使用できるアクションは次のとおりです。
-
ノート:
テンプレートで4つのハンドラすべてが作成されている場合(GET、POST、PUT、DELETE)、このオプションは使用できません。 -
ハンドラの「HTTPメソッド」ページへのナビゲート
4.6.4 例: POSTハンドラを使用したレコードの挿入
次の例は、DEPT表にレコードを挿入する方法を示しています。
前提条件
-
「SQL」ページのワークシートを使用して、DEPT表を作成します。
CREATE TABLE DEPT( DEPTNO number(2,0), DNAME varchar2(14), LOC varchar2(13), CONSTRAINT PK_DEPT PRIMARY KEY (DEPTNO) )
-
exampleという名前のモジュールを作成します。リソース・モジュールの作成を参照してください
-
モジュールのemp/という名前のテンプレートを作成します。リソース・テンプレートの作成を参照してください
4.6.5 リソース・ハンドラの詳細の表示およびパラメータの管理
「HTTPメソッド」ページで、リソース・ハンドラの詳細を表示し、パラメータを管理できます。
このページにナビゲートするには、特定のハンドラのをクリックして「詳細」を選択するか、カード・ビューでハンドラの名前をクリックします。
ページ上部にある「編集」や「削除」などのコンテキスト・メニュー・オプションではハンドラ・カードを使用できます。
ハンドラの「HTTPメソッド」ページには、次の2つの主要セクションがあります。
-
リソース・ハンドラで定義されたSQLまたはPL/SQLソース・コードを実行するためのコード・エディタ。コードを実行し、出力を保存、元に戻す、やり直し、ダウンロードおよびクリアできます。エディタの詳細は、コード・エディタでのSQL文の実行を参照してください。
RESTサービス・ハンドラで使用される暗黙的パラメータは、エディタの右側にあるスクロール・リストに表示されます。詳細は、「暗黙的パラメータ」を参照してください
-
HTTPメソッドの実行に必要なパラメータを管理するためのセクション。
デフォルトでは、パラメータはグリッド・ビューに表示されます。カード・ビューのパラメータに表示される属性を、次の図に示します。
コンテキスト・メニューで使用できるアクションは次のとおりです。
関連項目:
REST検索ツールバーについて4.6.5.4 暗黙的パラメータ
この項では、リソース・ハンドラの詳細ページの暗黙的パラメータについて説明します。これらのパラメータは、リソース・ハンドラに自動的に追加されます。
表4-1 暗黙的パラメータ
名前 | タイプ | アクセス・モード | HTTPヘッダー | 説明 |
---|---|---|---|---|
|
BLOB |
IN |
該当なし |
リクエストの本文を一時BLOBとして指定します。 |
|
CLOB |
IN |
該当なし |
リクエストの本文を一時CLOBとして指定します。 |
|
VARCHAR |
IN |
|
Content-Typeリクエスト・ヘッダーで示されるリクエスト本文のMIMEタイプを指定します。 |
|
VARCHAR |
IN |
該当なし |
リクエストの認証済ユーザーを指定します。ユーザーが認証されていない場合、値はnullに設定されます。 |
|
VARCHAR |
OUT |
|
このリクエストのレスポンスを作成するためにOracle REST Data ServicesがGETリクエストを転送する必要がある場所を指定します。 |
|
NUMBER |
IN |
該当なし |
ページに表示する最初の行のゼロ基点のオフセットを指定します。 |
|
NUMBER |
IN |
該当なし |
ビューに取り込む最大行数を指定します。 |
|
NUMBER |
IN |
該当なし |
ページ区切りリクエストのゼロ基点のオフセットを指定します。 ノート: |
|
NUMBER |
IN |
該当なし |
ビューに取り込む最大行数を指定します。
|
|
NUMBER |
IN |
該当なし |
ページ区切りリクエストで表示する最初の行の1基点の索引を指定します。 |
|
NUMBER |
IN |
該当なし |
ページ区切りリクエストで表示する最後の行の1基点の索引を指定します。 |
|
NUMBER |
OUT |
|
リクエストのHTTPステータス・コードを指定します。 |
暗黙的なパラメータの詳細は、Oracle REST Data Servicesインストレーション・ガイドを参照してください。