如何将 OpenAPI 规范 (Swagger 2.0) 转换为 proto3?

Bob*_*sky 11 code-generation protocol-buffers openapi

我已经进行了广泛的谷歌搜索,但找不到一个好的工具来做到这一点。我能找到的最接近的是https://github.com/googleapis/gnostic,它允许将 OpenAPI 描述 (swagger.yaml) 转换为 .pb 文件或 .json 文件。我想知道是否有任何工具可以将此 .pb 文件转换为 .proto proto3 文件?

我也试过https://github.com/NYTimes/openapi2proto但不幸的是有一些情况没有正确处理。

在此先感谢您的帮助!

And*_*ija 9

我知道这个问题已经很老了,但我也在徘徊,而且事情似乎同时发生了变化。所以我会为其他人发布答案,懒得搜索:)

目前有几种将 OpenApi 2/3 转换为 Protobuf 的选项:

  • OpenAPITools/openapi-generator从版本 4.1.2 开始支持此功能,请在此处找到更多信息。
  • googleapis/gnostic也可以做到这一点,请在此处找到更多信息。
  • nytimes/openapi2proto是一个用 go 编写的工具,可以在此处找到更多信息。
  • 也许还有更多...?如果我遗漏了任何内容,请添加。