【问题标题】:Postman and setting up a variable in the body of x-www-form-urlencoded request邮递员并在 x-www-form-urlencoded 请求的正文中设置变量
【发布时间】:2018-11-26 21:30:23
【问题描述】:

所以我尝试使用 Postman 的链式请求,其中第一个请求会将数据传递给下一个请求,我会将该数据用作正文。我能够做到,但是如果涉及 x-www-form-urlencoded 类型的请求,则会出现问题,因为 Postman 会转换它:

请求正文:

{{data}}

进入这个:

{{data}: ""

如果变量设置为正文,是否有办法告诉 Postman 不要添加冒号?

【问题讨论】:

  • 您的 Postman 请求正文是什么样的? {{data}} 的值是否只是一条数据?没有图像等,很难知道你在做什么。
  • 那么数据变量的格式是这样的:property1: value1\r\n property1:value2\r\n 等等,这是服务器期望的格式,我无法更改它。
  • @Zed 我正在尝试类似的活动,你找到任何解决方案了吗
  • @prateeksarda 谢谢你的提醒,我已经回答了这个问题。

标签: postman postman-collection-runner


【解决方案1】:

事实证明这个问题没有直接的解决方案,所以我不得不想办法解决。我所做的是,创建环境变量,然后硬编码请求正文中预期的键名和值:

第 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}}

这个解决方案效果很好,因为键名总是相同的。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-21
  • 1970-01-01
  • 2021-01-19
  • 2023-04-10
  • 2014-03-30
  • 1970-01-01
  • 2018-03-24
相关资源
最近更新 更多