2

因此,我一直在使我的邮递员集合尽可能动态,将所有在不同 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 + "\""
4

1 回答 1

3

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

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

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

请求正文

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

请求正文已发送

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

于 2018-05-04T10:36:25.343 回答