0

我正在以编程方式创建 Postman 集合,并希望提供默认的 JSON 请求正文以使请求更容易。

我浏览了规范,看不到如何指定它。有没有人有任何想法?这可以用 JavaScript 来完成吗,我用它来自动设置标题和环境变量。

这是我正在使用的 Postman Collection 规范定义,v2.1.0 草案 4:

请求由 指定#/definitions/request

body指定为以下之一。JSON 未列出,因此raw通常使用。这是一个摘录,显示它raw是一种string类型,但没有属性可以包含请求正文的默认值。

{
  "body":{
    "oneOf":[
      {
        "type":"object",
        "description":"This field contains the data usually contained in the request body.",
        "properties":{
          "mode":{
            "description":"Postman stores the type of data associated with this request in this field.",
            "enum":[
              "raw",
              "urlencoded",
              "formdata",
              "file",
              "graphql"
            ]
          },
          "raw":{
            "type":"string"
          }
        }
      }
    ]
  }
}

有没有人知道 Postman 能够使用预先创建的示例,直接使用集合或通过 JavaScript 为 JSON 请求正文指定一个示例?

更新

可以使用以下内容使用 JavaScript 动态设置身体上的以下 YouTube 视频显示。

const body = {
    "productId": 1234
};

pm.globals.set("body", JSON.Stringify(body));

https://www.youtube.com/watch?v=hSX7Dcjy000

使用这种方法,接下来要弄清楚的是 Postman 集合是否可以导入和访问自定义属性,例如x-properties,或者是否有其他方法可以通过重载现有属性来加载示例内容。似乎这可以通过加载大量环境变量来完成,每个请求一个。最后一步可能是在用户首次启动端点时自动将正确的环境变量值加载到示例正文中。

以下是有关类似主题的更多信息:

https://learning.postman.com/docs/writing-scripts/script-references/postman-sandbox-api-reference/#scripting-with-request-data

4

1 回答 1

1

您添加的链接是使用邮递员测试和预请求部分编写脚本,而不是用于以编程方式创建 json。

可以打开postman,点击collection的倒汉堡菜单,导出collection json。您可以将此作为参考。

在生成的 json 请求中定义为:(只有 url、method 和 body 部分不完整)

"method": "DELETE",
"header": [],
"body": {
    "mode": "raw",
    "raw": "{{requestbody}}",
    "options": {
        "raw": {
            "language": "json"
        }
    }
},
"url": {
    "raw": "{{url}}/resource1/resource2",
    "host": [
        "{{url}}"
    ],
    "path": [
        "resource1",
        "resource2"
    ]
}

这是从邮递员创建的 json。

于 2021-01-19T16:27:42.477 回答