Oracle APEX 23.1ではOpenAPI仕様のREST APIの定義を読み込んで、RESTデータ・ソースを作成できるようになりました。
Oracle APEXに付属しているoracle.example.hrのモジュールを使って、OpenAPI定義を使ったRESTデータ・ソースを作ってみます。2箇所ほど不具合があり、その対策を説明しています。
最初にモジュールoracle.example.hrのOpenAPI定義を確認します。
モジュール定義の完全なURLは、RESTデータ・ソースの作成時にURLエンドポイントとして与える値です。現行のapex.oracle.comではモジュール名oracle.example.hrがURLに含まれています。不具合なので、URLエンドポイントとして入力する際にはモジュール名の部分を削除します。
Swaggerドキュメントの作成をクリックします。SwaggerはOpenAPIの以前の呼称です。
共有コンポーネントのRESTデータ・ソースを開き、作成を実行します。
次へ進みます。
詳細の操作にRESTデータ・ソースに実装されているエンドポイントURLの一覧が表示されます。
RESTデータ・ソース・タイプとして簡易HTTPを選択します。名前は任意ですが、oracle.example.hrとしました。
URLエンドポイントとして、RESTfulサービスのモジュール定義にあった完全なURL(修正したもの)を指定します。また、OpenAPI URLにはSwagger EditorからコピーしたURLを指定します。
次へ進みます。
リモート・サーバーの確認画面が開きます。
リモート・サーバーが新規作成される場合、サービスURLパスが"/"で始まっていることがあります。RESTデータ・ソースが正しく作成されないため、サービスURLパスの先頭に"/"がある場合は、それを削除します。
次へ進みます。
ページ区切りタイプは変更せず、ページ区切りなしとします。今回はORDSのRESTサービスであるため、実際にはページ区切りが実装されています。この設定はRESTデータ・ソースを作成した後に変更できます。
次へ進みます。
今回使用するRESTサービスは保護されていないので、認証が必要ですはオフにします。
検出をクリックします。
データ・プロファイルはOpenAPIの定義から生成されます。
以上を確認し、RESTデータ・ソースの作成を実行します。
作成されたRESTデータ・ソースを開いて、設定内容を確認します。
RESTデータ・ソースのURLパス接頭辞が"/"で始まっていないこと、および、操作のURLパターンがプロトコル(https://)で始まっていないことを確認します。
OpenAPI仕様の定義を読み込んで、RESTデータ・ソースを作成する手順の紹介は以上です。
Oracle APEXのアプリケーション作成の参考になれば幸いです。
完