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

如何在Oracle Integration Cloud(OIC)中将两个API响应合并为单个负载?

如何在Oracle Integration Cloud(OIC)中合并两个API响应为单个负载

问题背景

需将客户API与订单API的响应合并为单个负载,使每个客户与对应索引的订单配对,同时需处理客户与订单数量不一致的情况。

示例数据

API 1响应(客户)

{ "Customers": [ { "CustomerID": "c8239", "CustomerName": "Robert", "CustomerEmail": "robert@gmail.com" }, { "CustomerID": "c3242", "CustomerName": "John", "CustomerEmail": "john@gmail.com" }, { "CustomerID": "c4544", "CustomerName": "David", "CustomerEmail": "david@gmail.com" } ] }

API 2响应(订单)

{ "Order": [ { "OrderID": "o232", "OrderAmount": "15000" }, { "OrderID": "o231", "OrderAmount": "18000" }, { "OrderID": "0233", "OrderAmount": "17000" } ] }

合并后预期响应

{ "Combine": [ { "Customer": [ { "CustomerID": "c8239", "CustomerName": "Robert", "CustomerEmail": "robert@gmail.com" } ], "Order": [ { "OrderID": "o232", "OrderAmount": "15000" } ] }, { "Customer": [ { "CustomerID": "c3242", "CustomerName": "John", "CustomerEmail": "john@gmail.com" } ], "Order": [ { "OrderID": "o231", "OrderAmount": "18000" } ] }, { "Customer": [ { "CustomerID": "c4544", "CustomerName": "David", "CustomerEmail": "david@gmail.com" } ], "Order": [ { "OrderID": "0233", "OrderAmount": "17000" } ] } ] }

补充说明

  • 目标:将客户API与订单API的响应数据合并为单个负载,按索引配对客户与订单
  • 工具:Oracle Integration Cloud(OIC),可使用Data Stitch或Mapper、循环组件实现
  • 约束:客户与订单的数量可能变化,不一定一一对应

OIC实现方案

方法1:For Each循环+Mapper组件

  1. 存储API响应:依次调用两个API,将响应分别保存到OIC变量(如$customerResp和$orderResp)
  2. 确定循环基准:比较客户列表与订单列表的长度,选择较长的列表作为循环遍历的基准,避免遗漏数据
  3. 按索引提取数据:在For Each循环内,使用OIC的get()函数按循环索引提取对应数据:
    • 提取客户:get($customerResp.Customers, $loopIndex)
    • 提取订单:get($orderResp.Order, $loopIndex),若索引超出订单列表长度,自动返回空对象
  4. 构造合并项:在Mapper中将提取到的客户数据放入Customer数组、订单数据放入Order数组,组成单个合并对象
  5. 收集结果:将每个循环生成的合并项添加到Combine数组,最终输出该数组

方法2:Data Stitch组件

  1. 导入数据源结构:在Data Stitch中导入两个API的响应结构作为数据源
  2. 设置关联规则:选择按索引位置进行关联(无业务关联字段),配置当某一方无对应数据时填充空值
  3. 映射输出结构:将关联后的客户、订单数据分别映射到目标结构的Customer和Order数组中,生成Combine数组
  4. 集成到流程:将Data Stitch组件加入OIC集成流程,传入两个API的响应数据,输出合并后的负载

内容的提问来源于stack exchange,提问作者B G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 04:47:09