如何将 OpenAPI Spec (Swagger 2.0) 转换为 proto3?
Posted
技术标签:
【中文标题】如何将 OpenAPI Spec (Swagger 2.0) 转换为 proto3?【英文标题】:How do you convert an OpenAPI Spec (Swagger 2.0) to proto3? 【发布时间】:2019-04-20 06:31:30 【问题描述】:我进行了广泛的 Google 搜索,但找不到一个很好的工具来执行此操作。我能找到的最接近的是https://github.com/googleapis/gnostic,它允许将 OpenAPI 描述 (swagger.yaml) 转换为 .pb 文件或 .json 文件。我想知道是否有任何工具可以将此 .pb 文件转换为 .proto proto3 文件?
我也试过https://github.com/NYTimes/openapi2proto,但不幸的是有一些情况没有得到正确处理。
提前感谢您的帮助!
【问题讨论】:
【参考方案1】:我知道这个问题很老了,但我一直在徘徊,似乎同时情况发生了变化。所以我会为其他人发布答案,懒得搜索:)
目前有几个选项可以将 OpenApi 2/3 转换为 Protobuf:
OpenAPITools/openapi-generator 从 4.1.2 版本开始支持此功能,请查找更多 here。 googleapis/gnostic 也可以做到这一点,找到更多here。 nytimes/openapi2proto 一个用 go 写的工具,找到更多here。 也许还有更多...?如果我错过了,请添加。【讨论】:
以上是关于如何将 OpenAPI Spec (Swagger 2.0) 转换为 proto3?的主要内容,如果未能解决你的问题,请参考以下文章
如何将两个 openapi/swagger 模式组合成一个模式
如何使用 Swagger\OpenAPI 记录 GraphQL?