我有一个请求是来自一个请求的确切响应是另一个请求的正文。是否有一种简单的方法可以将来自一个请求的响应存储为Postman中另一个请求的主体。我尝试将响应主体存储在全局变量(customerData)中,然后让我的其他请求的主体为" {{customerData}}"但这不起作用。谢谢你的帮助。
答案 0 :(得分:0)
您可以使用第一个sendRequest()
请求的Tests
标签中的GET
功能来实现此目的。这将发送请求并在完成后获取数据,然后POST
将相同的响应数据Tests
发送到另一个端点。
这是一个非常基本的示例,可以添加到pm.sendRequest({
url: 'localhost:3000/post',
method: 'POST',
headers: {
"Content-Type": "application/json"
},
body: {
mode: 'raw',
raw: JSON.stringify(pm.response.json())
}
}, (err, res) => {
console.log(res)
})
标签中,可以根据您自己的情况进行更改/调整:
/get
这就是Postman的样子 - 我已向Tests
路径发送了基本请求,并在POST
标签中,我将该响应数据用作插入pm.response.json()
的{{1}}请求的有效负载。您可以看到/post
路由的请求正文已从第一个请求中获取。
答案 1 :(得分:0)
API-1 - Test Tab
//Get the response of first API
var jsonData=JSON.parse(responseBody);
//Convert the JSON response to String
var jsonString=JSON.stringify(jsonData);
//Store in environment variable
pm.environment.set("MyPayLoad", jsonString);
API-2 - Body
{{MyPayLoad}}
通过这种方式,API-1的响应作为有效负载传递给API-2