在邮递员中,如何获取响应正文并将其用于Tests中的新请求中

时间:2018-11-28 15:17:11

标签: javascript postman

我是Postman的新手,也是Java的新手。

我发出了发布请求以创建新合同。

请求正文

{
        "progSrvcNm": "009",
        "contractPrtyNm": "PostmanAutomationContract",
        "contractCd": "000",
        "signDt": "2018-01-01",
        "startDt": "2018-01-01",
        "endDt": "2025-01-01",
        "remitTerms": 30
}

并收到以新合同编号作为响应正文的正常响应。

"02974"

我现在想保存响应正文,并在Get请求中使用它,以确认我在Post中发送的数据是新合同的get中返回的数据。

我试图保存该变量并在Postman中使用“发送请求”代码段,当我运行时,我只会得到创建的另一个新合同编号的响应。

let newContractNb = pm.response.json();

pm.sendRequest("http://smat-meddev02/MedeaSMATMEDSQL01AICollationFNGAPI2.AffiliateApi/api/Get/" + newContractNb, function (err, response) {
    console.log(response.json());
});

2 个答案:

答案 0 :(得分:1)

您可以尝试这种方式,

在第一个GET请求上,抓紧响应正文并将所需的数据存储在postman.setEnvironmentVariable(key, value)之类的邮递员环境中,具体做法是

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("newContractNb", jsonData.newContractNb);

关于第二个GET / POST请求,要发送newContractNb,您需要将其设置为GET/POST请求的一部分。

将其作为参考。 http://blog.getpostman.com/2014/01/27/extracting-data-from-responses-and-chaining-requests/

答案 1 :(得分:0)

从json响应中解析数据,并根据建议将其保存到变量中。

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("newContractNb", jsonData);

然后使用URL中的变量创建了GET方法。

enter image description here