20.15 EXECUTE_REST_SOURCEプロシージャ
このプロシージャは、モジュール名、操作およびURLパターン(必要な場合)に基づいて、RESTソース操作を実行します。t_parameters
配列を使用して、宣言されたRESTデータ・ソース・パラメータの値を渡します。RESTソースの呼出しは、共有コンポーネントに定義されたメタデータに基づいています。
構文
PROCEDURE EXECUTE_REST_SOURCE (
p_static_id IN VARCHAR2,
p_operation IN VARCHAR2,
p_url_pattern IN VARCHAR2 DEFAULT NULL,
p_parameters IN OUT t_parameters );
パラメータ
表20-12 EXECUTE_REST_SOURCEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
p_static_id |
RESTデータソースの静的ID。 |
p_operation |
操作の名前(たとえば、POST、GET、DELETE)。 |
p_url_pattern |
同じ名前の操作が複数存在する場合は、共有コンポーネントに定義されているようにURLパターンを指定して、RESTソース操作を識別します。 |
p_parameters |
外部RESTデータ・ソースに渡すパラメータ値。 通常、RESTデータ・ソースに渡されるHTTPヘッダー、URLパターンおよびその他のパラメータは文字列であることに注意してください。 |
t_parameters |
OUT パラメータ値を持つ配列で、RESTデータ・ソースから受信されます。
|
戻り値
表20-13 EXECUTE_REST_SOURCEプロシージャの戻り値
戻り値 | 説明 |
---|---|
p_parameters |
OUT パラメータ値を持つ配列で、RESTデータ・ソースから受信されます。
|
例
この例では、ORDSおよびAuto-REST機能(ORDS.ENABLE_OBJECT
)を使用して、RESTサービスがEMP表に作成されていることを前提としています。次に、このRESTサービスのRESTデータ・ソースがORDS EMPとして共有コンポーネントに作成されます。
POST操作には、次のリクエスト・ボディ・テンプレートが定義されています。
{"empno": "#EMPNO#", "ename": "#ENAME#", "job": "#JOB#", "sal": #SAL#}
パラメータは次のように定義されています。
名前 | 方向 | タイプ | デフォルト値 |
---|---|---|---|
|
IN |
リクエスト・ボディ |
該当なし |
|
IN |
リクエスト・ボディ |
該当なし |
|
IN |
リクエスト・ボディ |
該当なし |
|
IN |
リクエスト・ボディ |
該当なし |
|
OUT |
リクエスト・ボディ |
該当なし |
|
IN |
HTTPヘッダー |
application/json |
RESTソース操作を呼び出すPL/SQLコードは次のようになります。
DECLARE
l_params apex_exec.t_parameters;
BEGIN
apex_exec.add_parameter( l_params, 'ENAME', :P2_ENAME );
apex_exec.add_parameter( l_params, 'EMPNO', :P2_EMPNO );
apex_exec.add_parameter( l_params, 'SAL', :P2_SAL );
apex_exec.add_parameter( l_params, 'JOB', :P2_JOB );
apex_exec.execute_rest_source(
p_static_id => 'ORDS_EMP',
p_operation => 'POST',
p_parameters => l_params );
:P2_RESPONSE := apex_exec.get_parameter_clob(l_params,'RESPONSE');
END;
親トピック: APEX_EXEC