Postman 并在 x-www-form-urlencoded 请求正文中设置变量
Postman and setting up a variable in the body of x-www-form-urlencoded request
所以我正在尝试将链式请求与 Postman 一起使用,其中第一个请求会将数据传递给下一个请求,我会将该数据用作正文。我能够做到这一点,但是如果涉及 x-www-form-urlencoded
类型的请求,则会出现问题,因为 Postman 会转换为:
请求正文:
{{data}}
进入这个:
{{data}: ""
如果变量被设置为正文,是否有办法告诉 Postman 不要添加冒号?
原来这个问题没有直接的解决方案,所以我不得不想办法解决。我所做的是,创建环境变量,然后硬编码请求正文中预期的键名和值:
第 1 步:请求 1 -(“测试”选项卡)
function setEnvironmentVars(obj) {
for(var prop in obj) {
postman.setEnvironmentVariable(prop, obj[prop]);
}
}
setEnvironmentVars(data);
postman.setNextRequest("Request2");
因此,我没有将 data
对象传递给 Request2
,而是为数据对象中的每个 属性 创建环境变量,这些变量可以直接访问。 Request 1
完成后自动执行。
第 2 步:请求 2(正文选项卡)
在 Request 2
中,我将请求类型设置为 x-www-form-urlencoded
,然后使用键和环境变量作为值批量编辑正文:
VAR1:{{VAR1}}
VAR2:{{VAR2}}
这个解决方案非常有效,因为键名总是相同的。
所以我正在尝试将链式请求与 Postman 一起使用,其中第一个请求会将数据传递给下一个请求,我会将该数据用作正文。我能够做到这一点,但是如果涉及 x-www-form-urlencoded
类型的请求,则会出现问题,因为 Postman 会转换为:
请求正文:
{{data}}
进入这个:
{{data}: ""
如果变量被设置为正文,是否有办法告诉 Postman 不要添加冒号?
原来这个问题没有直接的解决方案,所以我不得不想办法解决。我所做的是,创建环境变量,然后硬编码请求正文中预期的键名和值:
第 1 步:请求 1 -(“测试”选项卡)
function setEnvironmentVars(obj) {
for(var prop in obj) {
postman.setEnvironmentVariable(prop, obj[prop]);
}
}
setEnvironmentVars(data);
postman.setNextRequest("Request2");
因此,我没有将 data
对象传递给 Request2
,而是为数据对象中的每个 属性 创建环境变量,这些变量可以直接访问。 Request 1
完成后自动执行。
第 2 步:请求 2(正文选项卡)
在 Request 2
中,我将请求类型设置为 x-www-form-urlencoded
,然后使用键和环境变量作为值批量编辑正文:
VAR1:{{VAR1}}
VAR2:{{VAR2}}
这个解决方案非常有效,因为键名总是相同的。