如何将API响应中的对象数组传递至另一API请求的请求体
跨接口传递JobSalesPersons数组实现方案
核心逻辑:上游响应与下游请求体中JobSalesPersons的字段结构完全一致,直接从上游响应的Data层级下提取该数组,赋值给下游请求体对应字段即可。
注意:你贴出的下游请求体存在JSON语法错误,JobSalesPersons数组缺少闭合的],实际调用时必须补全,否则会触发解析失败。
常见场景实现代码
JavaScript(前端/Node.js环境)
// 上游接口返回结果存储在upstreamRes变量中 const upstreamRes = { Data: { AllowTranslationValue: "No", NumberOfOutstandinPages: 0, JobSalesPersons: [ { JobSalesPersonId: 5204, SalesPersonId: 769, JobIdentity: 7013, Ownership: 100.00, SalesPersonName: "test", JobName: "PostmanAPIJob_2022-06-02_12_53_09", JobID: "HIP22060007", isShowOwnership: false } ], JobDescription: "Testing for API1" } } // 构造下游请求体 const downstreamBody = { Attachments: [], AllowPrintSchedule: true, IsPDFConvertible: false, AllowTranslation: false, JobSalesPersons: upstreamRes.Data.JobSalesPersons } // 发送POST请求调用下游接口 fetch('/your/downstream/api/path', { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify(downstreamBody) })
Postman接口调试场景
- 在上游请求的「Tests」标签页添加脚本,把目标数组存为环境变量:
const res = pm.response.json() pm.environment.set("jobSalesPersons", JSON.stringify(res.Data.JobSalesPersons))
- 打开下游请求,选择Body为raw-JSON格式,填入以下内容(变量会自动替换为存储的数组值):
{ "Attachments": [], "AllowPrintSchedule": true, "IsPDFConvertible": false, "AllowTranslation": false, "JobSalesPersons": {{jobSalesPersons}} }
Python后端脚本场景
import requests # 调用上游接口获取响应 upstream_result = requests.get("your/upstream/api/path").json() # 构造下游请求参数 downstream_payload = { "Attachments": [], "AllowPrintSchedule": True, "IsPDFConvertible": False, "AllowTranslation": False, "JobSalesPersons": upstream_result["Data"]["JobSalesPersons"] } # 调用下游接口 requests.post("your/downstream/api/path", json=downstream_payload)
提示:如果后续业务调整了
JobSalesPersons数组内的字段,只要上下游接口的字段定义保持同步,上述提取赋值逻辑不需要修改。
内容的提问来源于stack exchange,提问作者Stephen Jose
相关产品推荐
相关产品推荐

