Oracle APEX(REST 集成代码片段)
Source: Dev.to

(A) 使用 APEX_WEB_SERVICE 从 APEX 调用 REST API
示例:调用 OCI Functions 或任意 REST 端点
DECLARE
l_url VARCHAR2(2000) := 'https://api.example.com/process';
l_body CLOB := '{"id":123, "action":"submit"}';
l_result CLOB;
BEGIN
l_result := APEX_WEB_SERVICE.make_rest_request(
p_url => l_url,
p_http_method => 'POST',
p_body => l_body,
p_wallet_path => 'file:/u01/app/oracle/wallet',
p_wallet_pwd => 'password'
);
-- Log or parse the JSON response
dbms_output.put_line(l_result);
END;
何时使用
- 调用无服务器函数(OCI Functions)
- 集成外部 API
- 向微服务发送数据
(B) 上传文件到 OCI 对象存储
适用于处理文档、图片、发票或上传的 APEX 应用。
DECLARE
l_url VARCHAR2(4000) := 'https://objectstorage..oraclecloud.com/n/namespace/b/bucket/o/myfile.pdf';
l_blob BLOB;
BEGIN
SELECT file_blob INTO l_blob
FROM my_docs
WHERE id = :P1_DOC_ID;
APEX_WEB_SERVICE.make_rest_request(
p_url => l_url,
p_http_method => 'PUT',
p_body_blob => l_blob,
p_wallet_path => 'file:/u01/app/oracle/wallet',
p_wallet_pwd => 'password'
);
END;
何时使用
- 上传简历、发票、PDF
- 存储图片、文档、报告
- 安全归档文件
(C) 调用 OCI AI 语言或视觉服务
AI 语言示例:情感分析 / 关键短语
DECLARE
l_body CLOB := '{
"documents": [
{"text": "The service was excellent!", "id": "1"}
]
}';
l_response CLOB;
BEGIN
l_response := apex_web_service.make_rest_request(
p_url => 'https://.../language/sentiment',
p_http_method => 'POST',
p_body => l_body,
p_wallet_path => 'file:/u01/app/oracle/wallet'
);
:P1_AI_RESULT := l_response;
END;
何时使用
- 客户反馈分析
- 支持工单优先级划分
- 聊天机器人智能与路由
(D) 使用 ORDS 调用启用 REST 的表或视图
如果通过 ORDS 暴露表,APEX 可以像访问其他 REST 端点一样读取它。
SELECT *
FROM apex_web_service.g_response_clob;
何时使用
- 微服务式数据共享
- 集成多个 APEX 应用
- 向合作伙伴暴露数据
基于使用场景的推荐
A. 文档处理使用案例
自动化 PDF 提取与分类
适用场景: HR 入职、发票、收据、表单
OCI 服务: 对象存储、AI 文档理解、Functions
APEX 角色: 上传 UI + 结果查看器
流程
- 用户在 APEX 中上传文档。
- 文档存入 OCI 对象存储。
- AI 文档理解提取实体。
- APEX 显示结构化结果(日期、金额、供应商等)。
APEX 中的图像识别
适用场景: 实地检查、资产管理
OCI 服务: Vision AI
流程
- 上传照片 → 发送至 OCI Vision。
- Vision 返回标签、异常。
- APEX 触发工作流或标记问题。
自动生成 PDF
适用场景: 报告、证书、收据
OCI 服务: OCI Functions + 开源库 或 APEX 内置 PDF 打印
B. 聊天机器人与智能助理
基于 LLM 的聊天助理嵌入 APEX
适用场景: 客户门户、HR 帮助台
OCI 服务: OCI 生成式 AI、OCI Language
APEX 角色: 聊天 UI + 历史记录日志
流程
- APEX 将用户消息发送至 OCI 生成式 AI。
- 接收结构化响应。
- 存储聊天历史。
- 在聊天式 UI 中展示。
智能工单分类
适用场景: IT 服务台、市政投诉
OCI 服务: AI Language(情感、分类)
流程
- APEX 表单 → AI Language → 自动分配优先级/团队。
C. 仪表盘与分析
实时运营仪表盘
适用场景: 物流、金融、零售
OCI 服务: Streaming(类似 Kafka)、API Gateway
流程
- 数据流入数据库。
- APEX 通过实时轮询刷新仪表盘。
高管 KPI 仪表盘
适用场景: 管理层报告
OCI 服务: Oracle Analytics Cloud(可选)、ADW
流程
- APEX 消费已整理的 ADW 模型。
- 交互式图表、下钻分析。
审计与安全仪表盘
适用场景: 合规、安全团队
OCI 服务: Data Safe、Logging、Monitoring
流程
- APEX 查询 Data Safe 日志。
- 显示风险用户、异常、审计警报。