13.5.2.2 Invoking REST Operation in Code
Use EXECUTE_REST_SOURCE in the APEX_EXEC
package to invoke a REST operation in code.
To supply parameter values, use a variable of type APEX_EXEC.T_PARAMETERS, call ADD_PARAMETER to add one or more parameters to it, then pass the parameters variable as the value of p_parameters. After invoking the REST Data Source operation, use GET_PARAMETER_VARCHAR2 or GET_PARAMETER_CLOB to retrieve the out parameters by name.
A simple example of invoking the Simple Book Create operation of the Single Book Order REST Data Source appears below. Notice it uses the Static ID of the data source and the operation.
declare
l_params apex_exec.t_parameters;
l_new_order_number number;
l_estimated_delivery date;
begin
-- Set inbound parameter values
apex_exec.add_parameter(
p_parameters => l_params,
p_name => 'P_ISBN',
p_value => '978‑1565926912');
apex_exec.add_parameter(
p_parameters => l_params,
p_name => 'P_QUANTITY',
p_value => 1);
-- Invoke using static ids of data source and operation
apex_exec.execute_rest_source(
p_static_id => 'single_book_order',
p_operation_static_id => 'single_book_create',
p_parameters => l_params);
-- Reference the values from the response as out parameters
l_new_order_number := apex_exec.get_parameter_varchar2(
l_params,
'ORDER_NUMBER');
l_estimated_delivery := to_date(apex_exec.get_parameter_varchar2(
l_params,
'ESTIMATED_DELIVERY'));
:P55_SUCCESS_MESSAGE := apex_string.format(
'New Order %s should deliver %s',
l_new_order_number,
to_char(l_estimated_delivery,
'DD-MON-YYYY'));
end;Parent topic: Invoking a REST Operation Programmatically