如何使用各种 RESTful 服务从 Oracle APEX 调用外部服务器或远程服务器,请告诉我。
谢谢和问候, Yokes G
如何使用各种 RESTful 服务从 Oracle APEX 调用外部服务器或远程服务器,请告诉我。
谢谢和问候, Yokes G
一种方法是设置一个 Rest Data Source 条目。我正在使用 Oracle Apex 20.2。
例如称为 myRest
使用简单 HTTP 远程服务器:不带 https 的服务器名称:包含端点 JSON 操作:GET 参数:标头参数
从 PostMan 复制和粘贴它非常容易。
然后您可以使用以下类型的代码来访问此 REST 服务
declare
l_params apex_exec.t_parameters;
begin
apex_exec.add_parameter( l_params, 'content', 'hello david' );
apex_exec.add_parameter( l_params, 'to', '123456' );
apex_exec.execute_rest_source(
'myRest',
'GET',
NULL,
l_params );
end;
请注意,我无法使用 Rest Data Sources 使 JSON 正常工作,因此我使用 make_rest_request ,如下所示:
declare
l_host constant varchar2(200) := 'https://platform.xxx.com';
l_host_path constant varchar2(200) := l_host || '/v1/message';
l_clob clob;
l_body clob;
begin
l_body := '{
"messages": [
{
"channel": "xxx",
"to": "123",
"content": "Hello from APEX"
}
]
}';
apex_web_service.g_request_headers(1).name := 'Content-Type';
apex_web_service.g_request_headers(1).value := 'application/json';
apex_web_service.g_request_headers(2).name := 'Authorization';
apex_web_service.g_request_headers(2).value := 'yourkey';
l_clob := apex_web_service.make_rest_request(
p_url => l_host_path,
p_http_method => 'POST',
p_body => l_body);
end;
第二种方法很好,因为一切都在一个地方,您不需要引用 REST 数据源。