邮递员并在x-www-form-urlencoded请求的正文中设置变量

时间:2018-07-22 12:17:14

标签: postman postman-collection-runner

因此,我尝试将链接请求与Postman一起使用,其中第一个请求会将数据传递给下一个请求,而我会将这些数据用作正文。我能够做到这一点,但是如果涉及x-www-form-urlencoded类型的请求,就会出现问题,因为Postman会进行以下转换:

请求正文:

{{data}}

对此:

{{data}: ""

在将变量设置为正文的情况下,也许有一种方法可以告诉Postman不要添加冒号吗?

1 个答案:

答案 0 :(得分:0)

结果证明没有直接解决此问题的方法,因此我不得不找到解决方法。我所做的是,创建环境变量,然后创建硬编码键名称和在请求正文中期望的值:

第1步:请求1-(“测试”标签)

function setEnvironmentVars(obj) {
    for(var prop in obj) {
        postman.setEnvironmentVariable(prop, obj[prop]);
    }
}

setEnvironmentVars(data);
postman.setNextRequest("Request2");

因此,我没有将data对象传递给Request2,而是为数据对象中的每个属性创建了env变量,可以直接访问该变量。 Request 1完成后会自动执行。

第2步:Request2(“身体”标签)

Request 2中,我将请求类型设置为x-www-form-urlencoded,然后使用键和env vars作为值批量编辑正文:

VAR1:{{VAR1}}
VAR2:{{VAR2}}

此解决方案非常有效,因为键名始终相同。