邮递员 - 使用来自一个请求的完整响应作为另一个请求的主体

时间:2018-03-09 21:56:00

标签: postman

我有一个请求是来自一个请求的确切响应是另一个请求的正文。是否有一种简单的方法可以将来自一个请求的响应存储为Postman中另一个请求的主体。我尝试将响应主体存储在全局变量(customerData)中,然后让我的其他请求的主体为" {{customerData}}"但这不起作用。谢谢你的帮助。

2 个答案:

答案 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路由的请求正文已从第一个请求中获取。

Postman

答案 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