请问是否有一种方法可以使用apex_web_service.make_rest_request传递JSON请求体?我们正在使用的用户没有使用UTL_HTTP的权限,它返回“PLS-00201:必须声明标识符'UTL_HTTP'“,并且我不能没有更改特权的权限,因为我不是管理员。
b0zn9rqh1#
当然,这就是p_body参数的作用。查看APEX_WEB_SERVICE的API文档。https://docs.oracle.com/en/database/oracle/apex/22.1/aeapi/MAKE_REST_REQUEST-Function.html#GUID-C77BB45A-8968-470C-8243-BADB63743DE9
l7wslrjt2#
您可以从APEX中的示例页面项构建json:
declare l_response clob; l_request_body clob; l_obj JSON_OBJECT_T := JSON_OBJECT_T(); begin l_obj.put('name', :P1_NAME); l_obj.put('age', :P1_AGE); apex_web_service.g_request_headers(1).name := 'Content-type'; apex_web_service.g_request_headers(1).value := 'application/json'; l_response := apex_web_service.make_rest_request( p_url => 'some_service_url' , p_http_method => 'PUT' , p_body => l_obj ); if apex_web_service.g_status_code != 200 then raise_application_error(-20001,'Error: Request failed'); end if; end;
2条答案
按热度按时间b0zn9rqh1#
当然,这就是p_body参数的作用。查看APEX_WEB_SERVICE的API文档。https://docs.oracle.com/en/database/oracle/apex/22.1/aeapi/MAKE_REST_REQUEST-Function.html#GUID-C77BB45A-8968-470C-8243-BADB63743DE9
l7wslrjt2#
您可以从APEX中的示例页面项构建json: