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

Postman能否检测Runner输入CSV文件动态生成请求Body?

Postman动态构建带可选字段请求体的实现方法

你描述的根据CSV数据源字段动态拼接请求体、最终通过{{requestBody}}变量引用作为请求内容的逻辑完全可以实现,直接用Postman自带的预请求脚本即可完成,不需要额外工具。

具体操作步骤

  • 打开对应请求的Body设置页,选择raw格式,类型选JSON,内容栏直接填入{{requestBody}}即可。
  • 打开请求(或对应集合,集合级脚本对旗下所有请求生效)的「Pre-request Script」标签,写入如下组装逻辑:
// 初始化必传字段
const reqBody = {
  customId: pm.variables.get("External_Card_ID")
}

// 读取CSV数据源中的Title字段,存在且非空则追加
const title = pm.iterationData.get("Title")
if (title !== undefined && title?.trim() !== "") {
  reqBody.title = title
}

// 读取CSV数据源中的计划完成时间字段,存在且非空则追加
const plannedFinish = pm.iterationData.get("Due_Date")
if (plannedFinish !== undefined && plannedFinish?.trim() !== "") {
  reqBody.plannedFinish = plannedFinish
}

// 序列化为合法JSON格式,存入变量供请求体引用
pm.variables.set("requestBody", JSON.stringify(reqBody))

注意事项

不建议用手动拼接字符串的方式组装JSON,很容易出现逗号遗漏、引号转义错误导致请求体格式非法,用JS对象组装后统一序列化的方式稳定性更高。
脚本里用pm.iterationData接口专门读取Collection Runner导入的CSV/JSON迭代数据,会自动逐行匹配当前请求对应的数据源行,对应列不存在或值为空时就不会携带该字段,完全匹配你需要的动态规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 15:18:13