【问题标题】:How can I generate swagger based off of existing postman collection? [closed]如何根据现有的邮递员集合生成 swagger? [关闭]
【发布时间】:2020-02-01 23:49:36
【问题描述】:

我正在开发一个 REST API。在开发过程中,我使用邮递员(chrome 扩展)来使用和记录我的 API。这是一个很棒的工具,我的大部分 API 端点都在其中。 但是,当我们即将发布时,我想大摇大摆地记录这个 API,我该怎么做呢?有没有办法可以根据邮递员导出生成招摇?

【问题讨论】:

标签: swagger postman swagger-2.0


【解决方案1】:

APIMatic API Transformer 可以将 Postman 集合(v1 或 v2)处理为输入格式并生成 Swagger 1.2 或 2.0,现在将 OpenAPI 3.0.0 作为输出。

它有自己的 API 和 Web 前端,还有一个 command-line version

【讨论】:

  • 请注意,该网站需要创建一个帐户才能使用。
  • 现在支持 swagger 2.1
  • 当我尝试将我的邮递员 V2.1 json 转换为 swagger 2.0 时,这就像一个魅力。但他们要求你先注册。
  • 我已注册,他们为我提供了 14 天的试用期,不确定试用期结束后我能否将 Postman 收藏转换为 Swagger。
  • 这不起作用:)
【解决方案2】:

有人发布了这个链接(然后删除了?):http://restunited.com/

它接受邮递员 JSON 并将其转换为招摇。这似乎就是我想要的。

【讨论】:

  • RestUnited 只有在每个 API 有
  • 导出(到邮递员收藏或招摇规范)没有限制。您提到的限制仅适用于生成 SDK 和文档。
  • OP 的最佳选择是apimatic.io/transformer
  • 我只是尝试在restunited 上导入默认的邮递员回声集合,但它不起作用。也许他们没有跟上邮递员的最新情况?
  • 它不适用于新版本。
【解决方案3】:

你可以使用 https://github.com/stoplightio/api-spec-converter 带代码

var transformer = require('api-spec-transformer');

var postmanToSwagger = new transformer.Converter(transformer.Formats.POSTMAN, transformer.Formats.SWAGGER);

postmanToSwagger.loadFile('/path/to/your.json.postman_collection', function(err) {
  if (err) {
    console.log(err.stack);
    return;
  }

  postmanToSwagger.convert('yaml')
    .then(function(convertedData) {
      // convertedData is swagger YAML string
      console.log(convertedData);
    })
    .catch(function(err){
      console.log(err);
    });
});

【讨论】:

  • 这仅适用于 Postman V1 集合!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-10
  • 2020-07-01
  • 2015-05-28
  • 1970-01-01
  • 2018-12-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多