You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Oracle APEX中创建RESTful API并发起GET请求?

嘿,我来帮你搞定这两个Oracle APEX的问题,都是新手刚接触REST服务时容易碰到的情况,别慌~

一、在Oracle APEX中发起RESTful API GET请求的几种方法

1. 用APEX_WEB_SERVICE包(后端PL/SQL调用)

这是服务器端调用REST API的常用方式,适合放在触发器、存储过程或者计算列里执行。比如要调用一个返回员工数据的GET API,代码示例如下:

DECLARE
    l_response CLOB;
    l_status   NUMBER;
BEGIN
    l_response := APEX_WEB_SERVICE.make_rest_request(
        p_url         => 'http://你的APEX实例地址/ords/你的工作区名/serviceOne/employees',
        p_http_method => 'GET'
    );
    l_status := APEX_WEB_SERVICE.g_status_code;
    
    -- 处理响应:可以输出到调试日志或存储到表中
    DBMS_OUTPUT.PUT_LINE('状态码: ' || l_status);
    DBMS_OUTPUT.PUT_LINE('响应内容: ' || l_response);
END;
/

注意:要确保你的APEX实例有权访问目标API,必要时需要配置数据库的ACL(访问控制列表)。

2. 在页面组件中用REST数据源(前端可视化展示)

如果要在交互式报表或表单里直接展示REST API返回的数据,步骤很简单:

  • 进入你的APEX应用,点击「Shared Components」→「REST Data Sources」
  • 点击「Create」,填写API的URL(比如/ords/你的工作区名/serviceOne/employees),选择HTTP方法为GET,按需配置认证信息
  • 创建完成后,在页面添加交互式报表,选择数据源为刚才创建的REST数据源,就能自动加载并展示数据了

3. 用JavaScript(前端动态调用)

如果需要在页面上动态发起请求并实时处理结果,可以用原生JS或者jQuery:

// 原生fetch示例
fetch('/ords/你的工作区名/serviceOne/employees')
    .then(response => response.json())
    .then(data => {
        // 处理返回的JSON数据,比如渲染到页面指定区域
        console.log(data);
        document.getElementById('employee-list').innerHTML = JSON.stringify(data);
    })
    .catch(error => console.error('请求出错:', error));

或者用jQuery简化写法:

$.get('/ords/你的工作区名/serviceOne/employees', function(data) {
    console.log(data);
    $('#employee-list').html(JSON.stringify(data));
});
二、创建RESTful API时找不到"Test"按钮的解决办法

你参考的旧指南里的「Test」按钮,在新版本的APEX(20.1及以后)中已经调整了位置——Oracle更新了RESTful Services的界面布局。按照以下步骤找到测试入口:

  1. 进入「SQL Workshop」→「RESTful Services」,找到你创建的serviceOne服务
  2. 点击服务名称进入详情页,切换到Resources标签页(这是你定义GET/POST等请求方法的地方)
  3. 在每个资源条目(比如你为emp表创建的GET资源)的右侧,会有一个测试图标(类似播放按钮的样式),点击它就能打开内置的测试界面
  4. 如果还是找不到,也可以手动构造测试URL直接在浏览器访问:
    格式通常是:http://你的APEX实例地址/ords/你的工作区名/serviceOne/你的URI模板
    比如你设置的URI模板是/employees,那么测试URL就是http://你的APEX实例地址/ords/你的工作区名/serviceOne/employees,打开后就能看到返回的JSON数据

另外要注意:刚创建的REST服务默认可能是禁用状态,记得在服务列表里把状态改成「Enabled」,否则无法正常访问。

内容的提问来源于stack exchange,提问作者fire frost

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 09:13:54