Postman中如何将一个请求的完整响应作为另一请求的请求体?
在Postman中直接复用请求响应体作为另一请求体的简便方法
我之前也碰到过一模一样的问题,大概率是你在把响应体存入全局变量时,没处理好格式或者赋值方式才导致失效的。下面给你两种最实用的解决办法:
方法一:直接复制粘贴响应体(快速临时复用)
- 先发送第一个请求,拿到响应后,点击响应区域右上角的「Copy」按钮,选择「Copy response body」(确保是复制完整的响应体内容)
- 打开第二个请求的「Body」标签页,选好对应的格式(比如JSON),直接把刚才复制的内容粘贴进去就行。这种方法适合临时用,不用折腾变量,简单直接。
方法二:用脚本正确存储和调用全局变量(适合多次复用场景)
你的思路是对的,但可能赋值脚本写错了,按下面的步骤来绝对没问题:
- 打开第一个请求的「Tests」标签页,添加这段脚本:
// 把JSON格式的响应体转为字符串存入全局变量 pm.globals.set("customerData", JSON.stringify(pm.response.json()));如果你的响应体不是JSON(比如纯文本、XML),就把
JSON.stringify(pm.response.json())换成pm.response.text() - 发送第一个请求,这时候全局变量
customerData就已经正确存储了完整响应体 - 打开第二个请求的「Body」标签页,选择「raw」并设置好对应格式(比如JSON),直接输入:
注意:如果是JSON格式,Postman会自动识别变量并解析成正确的JSON结构,不用额外加引号。{{customerData}}
为什么你之前的方法无效?
大概率是存变量时直接把JSON对象存进去了,而不是转成字符串。比如直接写pm.globals.set("customerData", pm.response.json()),这时候变量存的是对象,用{{customerData}}调用时就会显示[object Object],自然无法作为有效请求体。另外还要注意第二个请求的Body格式要和第一个响应的格式一致,比如第一个响应是JSON,第二个请求的Body就得选raw->JSON,不能选form-data这类格式。
内容的提问来源于stack exchange,提问作者erik37
相关产品推荐
相关产品推荐

