因此,我一直在使我的 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正文中引用的值 - 这些可以很容易地在预请求脚本中设置。
发送请求时,会通过 POST 正文中的变量值发送:
我可能误解了这个问题以及您想要实现的目标,但如果您提供更多详细信息,我很乐意更新我的答案。
关于javascript - 在键名称字段内的 JSON Post Body 中添加 Postman 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50172259/