JSON 模式到 GraphQL 模式转换器
JSON Schema to GraphQL schema converters
是否有任何适配器正在将 JSON 模式模式(例如来自 Swagger)转换为 GraphQL 模式?
甚至有一篇关于环绕 REST http://graphql.org/blog/rest-api-graphql-wrapper/ 的官方文章,但通常已经描述了 REST,Swagger 是它最流行的格式。
如果已经有实现,我不想自己写。
事实上,我在几个月前就花了一些时间来尝试这个。您可以在此处阅读我的 post 详细说明结果:https://medium.com/apollo-stack/will-graphql-replace-rest-documentation-f1a55092ef9d#.m50im46o0
在看了很多在线可用的 Swagger 模式之后,我认为 Swagger 或类似的 API 描述语言可以作为定义 GraphQL 模式的良好起点,但它们通常包含的内容不够信息以自行生成模式。具体来说,通常没有足够的关于对象之间关系的数据。
如果您想从 JSON 格式的模式描述开始,您需要做的就是编写一些代码,在 Swagger 中循环遍历您的不同数据类型,并生成 GraphQLObjectType
个对象。您可以在上面链接的博客 post 的示例存储库中看到一个简单的方法:https://github.com/apollostack/swapi-rest-graphql/blob/951e50ec29732c93e7aa0bc6880210fdd1816a2f/schema.js#L28
基本上,您只是将一种格式的数据转换为另一种格式,然后您需要在数据之间添加一些关系(外键、ID 等),并添加一些根查询以创建入口点。在 REST API 的情况下,将单个和多个资源端点用作根查询字段通常很有意义。
我还编写了一个库,如果您使用 Swagger,它允许您包装现有的 REST API。
https://github.com/yarax/swagger-to-graphql
它基本上是 Swagger
到 GraphQL 类型的模式映射。
还有一篇关于这种方法和库的文章https://medium.com/@raxwunter/moving-existing-api-from-rest-to-graphql-205bab22c184
同时,已经实施了几种工具来将 JSON 模式转换为 GraphQL 模式:
是否有任何适配器正在将 JSON 模式模式(例如来自 Swagger)转换为 GraphQL 模式? 甚至有一篇关于环绕 REST http://graphql.org/blog/rest-api-graphql-wrapper/ 的官方文章,但通常已经描述了 REST,Swagger 是它最流行的格式。 如果已经有实现,我不想自己写。
事实上,我在几个月前就花了一些时间来尝试这个。您可以在此处阅读我的 post 详细说明结果:https://medium.com/apollo-stack/will-graphql-replace-rest-documentation-f1a55092ef9d#.m50im46o0
在看了很多在线可用的 Swagger 模式之后,我认为 Swagger 或类似的 API 描述语言可以作为定义 GraphQL 模式的良好起点,但它们通常包含的内容不够信息以自行生成模式。具体来说,通常没有足够的关于对象之间关系的数据。
如果您想从 JSON 格式的模式描述开始,您需要做的就是编写一些代码,在 Swagger 中循环遍历您的不同数据类型,并生成 GraphQLObjectType
个对象。您可以在上面链接的博客 post 的示例存储库中看到一个简单的方法:https://github.com/apollostack/swapi-rest-graphql/blob/951e50ec29732c93e7aa0bc6880210fdd1816a2f/schema.js#L28
基本上,您只是将一种格式的数据转换为另一种格式,然后您需要在数据之间添加一些关系(外键、ID 等),并添加一些根查询以创建入口点。在 REST API 的情况下,将单个和多个资源端点用作根查询字段通常很有意义。
我还编写了一个库,如果您使用 Swagger,它允许您包装现有的 REST API。
https://github.com/yarax/swagger-to-graphql
它基本上是 Swagger
到 GraphQL 类型的模式映射。
还有一篇关于这种方法和库的文章https://medium.com/@raxwunter/moving-existing-api-from-rest-to-graphql-205bab22c184
同时,已经实施了几种工具来将 JSON 模式转换为 GraphQL 模式: