有没有办法从 protobuf 生成 GraphQL 模式?
Posted
技术标签:
【中文标题】有没有办法从 protobuf 生成 GraphQL 模式?【英文标题】:Is there a way to generate a GraphQL schema from a protobuf? 【发布时间】:2017-11-07 22:33:03 【问题描述】:我有一个相当大/复杂的 API protobuf 定义,我想知道是否有一个方便的工具可以从这个 protobuf 的子集自动生成文本 GraphQL 模式及其(嵌套)类型?
我正常使用 Node.js,但我愿意接受其他语言来生成架构。
【问题讨论】:
有谁知道这方面是否有任何更新?希望自动生成 proto 到 GraphQL 模式。 【参考方案1】:如果你愿意使用 GoLang,这里有一个 protobuf 到 GraphQL 转换器
https://github.com/opsee/protobuf
当前小工具 图ql
graphql 小工具将为 protobuf 消息生成一个 graphql 模式,以便与 go-graphql 包一起使用。它定义了用于文件、消息和字段的扩展。查看使用示例——插件生成的文件是flavortown.pb.go和flavortownpb_test.go。
【讨论】:
它并没有真正回答我的问题,因为它生成 Go 代码,而不是纯文本模式定义,但无论如何谢谢。 链接结果为archived
【参考方案2】:
Rejoiner 将从 protobuf 源(例如 gRPC 微服务)创建统一的 GraphQL 模式。
http://rejoiner.io/
https://github.com/google/rejoiner
【讨论】:
您能补充一些关于它的额外解释吗?我们不应该只依赖外部内容,这些内容可能会改变或离线...... 来自问题:“自动生成文本 GraphQL 模式的便捷工具”。 Rejoiner 从什么时候开始生成文本 GraphQL 模式?你可以自省,当然,但这很不方便。【参考方案3】:此项目从 protos 生成 graphql 模式:https://github.com/tmc/protoc-gen-graphql
【讨论】:
以上是关于有没有办法从 protobuf 生成 GraphQL 模式?的主要内容,如果未能解决你的问题,请参考以下文章
Protobuf-net 序列化错误 =“一旦生成了序列化程序,就无法更改类型”
如何在 xamarin ios pcl 中使用 protobuf-net
在 protobuf-net 中,有没有办法指定在序列化/反序列化给定类型时要使用的自定义方法?