如何从 protobuf 文件生成 OpenAPI 3 文档

KHi*_*lse 18 protocol-buffers openapi

我有一个从 protobuf 生成的 API,我想生成符合 OpenAPI 3 规范的文档。我查看了许多实用程序,但没有找到有效的组合。

有谁知道我可以遵循的从 protobuf 到 OpenAPI 3 的路径?

小智 6

我最近搜索答案,发现了这个包: protobuf2swagger 它可以在 CLI 中运行,需要 js 配置文件。这个包解决了我的问题。


ubo*_*mbi 5

看起来protoc-gen-openapi app,来自gnostic,就是您正在寻找的。但它似乎被遗弃并且不起作用。

不知道它是否有效。


Kri*_*rla 3

Google 在 GitHub 上有一个存储库来做到这一点。它包含 OpenAPI v3(和 v2)的示例,说明等效的 protobuf 代码应该是什么样子。

这是一篇中等文章,逐步解释了端到端 gRPC + HTTP(分别使用 protobuf 和 swagger)服务器实现和文档。这是一个 OpenAPI v2 示例,但类似的概念也适用于 OpenAPI v3。

还有其他存储库可以执行相同的操作,但我建议使用实际上来自源代码的源代码。:)

希望这可以帮助!

  • 第一个和最后一个链接用于将 OAS 转换为 protos/gRPC,而不是将 protos/gRPC 转换为 OAS。中间的链接是一篇关于 https://github.com/grpc-ecosystem/grpc-gateway 的文章,它对 gRPC 到 OAS 进行了处理,尽管它是 OAS 2。 (18认同)
  • 不幸的是,这些链接都没有回答OP的问题,这是非常具体的(我也在寻找答案。) (2认同)