【问题标题】:Transform Swagger parameter names to Postman variables on import在导入时将 Swagger 参数名称转换为 Postman 变量
【发布时间】:2019-12-30 16:40:07
【问题描述】:

我有一组以通常方式定义参数的 Swagger 文件。例如:

parameters:
      - $ref: '#/parameters/authorization'
...  
parameters:  
  authorization:
    name: Authorization
    description: ''
    required: true
    type: string
    in: header

将这些文件导入 Postman 后,Postman 集合已正确创建,但我希望“Authorization”参数的 Postman 变量为“AUTH_TOKEN”而不是“Authorization”(例如)。

实际上,我想声明一个字段(最好是在 swagger 文件中?),上面写着“当导出到 Postman 时,使用值 AUTH_TOKEN 作为变量名,而不是“授权”的默认“名称”)。

看起来 x-postman-meta 在招摇中可能会有所帮助,但在此处的 GH 问题之外没有找到有关此属性的任何信息说它可能会有所帮助。

无论如何 - 我怎样才能做到这一点?

【问题讨论】:

    标签: swagger postman openapi


    【解决方案1】:

    我找到了一种方法来做到这一点,尽管从 OpenAPI/Swagger 的角度来看它感觉不太好。我发现您可以使用变量名称添加“默认”属性,例如

        {
          "in": "header",
          "name": "Authorization",
          "description": "The bearer token in the format: Bearer {token}",
          "required": true,
          "type": "string",
          "default": "Bearer {{token}}"
        }
    

    这感觉很糟糕,因为默认属性的实际用途是:

    在参数架构中使用 default 关键字来指定默认值 一个可选参数。默认值是服务器使用的值,如果 客户端未在请求中提供参数值。值类型必须 与参数的数据类型相同。

    所以如果你有一个整数类型,你想用一个变量来填充,这将不起作用。此外,从文档的角度来看,这是完全错误的,服务器要求客户端提供此参数,它也不能有默认值,这是矛盾的。会对更“感觉良好”的解决方案感兴趣。

    参考: https://swagger.io/docs/specification/describing-parameters/

    【讨论】:

      猜你喜欢
      • 2019-04-08
      • 2016-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-01
      • 1970-01-01
      相关资源
      最近更新 更多