javascript - 在键名称字段内的 JSON Post Body 中添加 Postman 变量

标签 javascript postman postman-collection-runner

因此,我一直在使我的 postman 集合尽可能动态,将在不同 API 调用期间仅略有变化的所有静态内容替换为变量,以大大减少工作量。

我还剩下一件事无法开始工作,那就是使用变量构建 JSON 主体的部分。

这是我想要的结果,右侧的关键值效果很好:

{
  "act.getEntries": {
    "act.authToken": "{{authToken}}",
    "act.resourceId": "{{activelistid}}"
  }
}

我想让所有 json 数组的前缀都是动态的,如下所示:

{
  "{{prefix}}.getEntries": {
    "{{prefix}}.authToken": "{{authToken}}",
    "{{prefix}}.resourceId": "{{activelistid}}"
  }
}

我无法在 JSON 正文中使用 JS 函数,因此我仅限于转义(因此使用“”''+)

我尝试做这样的事情:

{
  "\"" + '{{prefix}}'.getEntries": {
    "act.authToken": "{{authToken}}",
    "act.resourceId": "{{activelistid}}"
  }
}

但最终,生成了如下所示的请求正文:

"{

 "\"" + ""act." + ".getEntries": {

 "act.authToken": "CJvGphuWp4wXOgJq1T6Yr0e_5aU1fvs2pXFDvJPBRnw.",

 "act.resourceId": "Hp2hTKmMBABDdFhotbrvBdw=="

 }

 }"

如果有人以前尝试过此操作,请告诉我,否则我会将其标记为不支持。

在请求前和请求后测试中,我可以使用适当的函数,因此很容易,甚至 URL 是从变量创建的,但正文似乎不可能......

在主体之外,虽然仍然受到限制,但我可以轻松地将变量插入到字符串中,如下所示:

"reference": {
      "id": "",
      "isModifiable": true,
      "managerID": "iqzGK08BABCAXcbW2VGwrg==",
      "referenceName": "ActiveList",
      "referenceString": "<Resource URI=\"/All Active Lists/Personal/" + pm.variables.get("login") + "'s Active Lists/" + activeListName + "\" ID=\"\"/>",
      "referenceType": 24,
      "uri": "/All Active Lists/Personal/" + pm.variables.get("login") + "'s Active Lists/" + activeListName + "\""

最佳答案

我想我理解了这个问题,但我可能是错的。这似乎对我来说效果很好:

{
  "{{something}}.getEntries": {
    "{{something}}.authToken": {{my_value}},
    "{{something}}.resourceId": {{my_value}}
  }
}

我将这些保存为环境变量作为POST正文中引用的值 - 这些可以很容易地在预请求脚本中设置。

Request Body

发送请求时,会通过 POST 正文中的变量值发送:

Request Body Sent

我可能误解了这个问题以及您想要实现的目标,但如果您提供更多详细信息,我很乐意更新我的答案。

关于javascript - 在键名称字段内的 JSON Post Body 中添加 Postman 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50172259/

相关文章:

postman - 如何使用 Postman Collection Runner 运行单个请求?

javascript - 如何在对象更改时生成 Jquery 事件?

javascript - 如何在 Typescript 中连接字符串和数字

javascript - findOne Mongoose 查询无法正常工作

javascript - 发送 jqueryAjax 请求时出现错误

postman - 预请求 CryptoJS 脚本中的 "TypeError: Cannot read property ' sigBytes ' of undefined"错误

javascript - 引用错误: ko is not defined when loading from jQuery

javascript - 无法在Windows上为redis-64添加密码

node.js - 如何为任何请求禁用 SSL 验证?

javascript - postman 测试以在响应数组中查找关键字