GraphQL 和 Relay 中的模式之间的区别

Posted

技术标签:

【中文标题】GraphQL 和 Relay 中的模式之间的区别【英文标题】:Difference between schemas in GraphQL and Relay 【发布时间】:2016-03-01 19:26:02 【问题描述】:

GraphQL 和 Relay 的架构略有不同,例如 Relay 有连接。是否仍然可以使用 cURL 对这些节点进行查询,例如,在具有连接的 Relay 模式上?或者检查架构是否相应工作的最佳方法是什么?

【问题讨论】:

嗨。我更新了您的标题以反映您提出的第一个问题。随意重置它,但尝试使用非常特定的标题来更好地吸引人们的注意力。另外,考虑添加一个最小的代码示例,并详细说明您想知道的示例代码的特定部分。如需指导,请查看:***.com/help/how-to-ask 当然,谢谢我在电话里,只是想在我忘记之前问一下:) 【参考方案1】:

GraphQL 和 Relay 的架构略有不同

这不是一个真正有效的陈述。 GraphQL 服务器定义了一个 GraphQL 模式,而 Relay(一个 GraphQL 客户端)使用该模式。它没有任何特殊版本。

节点、连接和对象突变是 GraphQL 模式的特定于中继的扩展。这意味着如果你想使用 Relay,你的 schema 需要在原始 GraphQL 规范之外实现 GraphQL-Relay 规范。您可以阅读更多关于它们的信息in the docs,或查看GraphQL Schema 和Nodes、Connections 和Object Mutations 扩展的规范。

至于问题的第二部分,您可以像与纯 GraphQL 服务器一样与 Relay 兼容的 GraphQL 服务器交互。

【讨论】:

以上是关于GraphQL 和 Relay 中的模式之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

带有 Relay-GraphQL 突变的撤销-重做状态遍历模式

Relay 和 GraphQL 中的身份验证

什么类型的 Relay mutator 配置适合插入新记录?

您将 CSRF 令牌放在 Relay/GraphQL 中的啥位置?

使用 Relay 和 GraphQL 进行查询

未知插件“Relay” - React、GraphQL 和 Relay