ruby-on-rails - GraphQL 订阅的用例

标签 ruby-on-rails graphql actioncable graphql-ruby

我正在学习如何使用 graphql-ruby gem 在 Rails 应用程序中实现 GraphQL API。我不清楚 GraphQL 订阅的用例。

我不清楚 GraphQL 订阅和 ActionCable 之间的区别。

假设我有一个从 GraphQL API 获取数据的移动应用程序。

我能否直接使用 ActionCable 将更改发布到移动客户端?如果是,那我为什么要订阅 GraphQL?

最佳答案

如果您想在 GraphQL API 中集成订阅,那么 GraphQL 订阅非常适合您。您可以考虑任何您喜欢实现的实时功能(多人游戏等),您可以在 https://github.com/facebook/graphql/blob/master/rfcs/Subscriptions.md 阅读有关 GraphQL 订阅的更多背景信息。 .

GraphQL 订阅和 ActionCable 的区别。 GraphQL 订阅可以集成到您的 GraphQL API 中。 ActionCable 在 RoR 中用于帮助开发人员创建 RoR 中可能的实时功能。如 http://graphql-ruby.org/subscriptions/action_cable_implementation.html 所述ActionCable 可用作在 Rails 5+ 上交付 GraphQL 订阅的平台。

关于您的最后一个问题,您所说的移动应用程序是什么意思?你是说原生应用吗?或者你的意思是基于网络的应用程序?对于 native 应用程序,它可能取决于您的实现和您使用的库。如果您指的是 Web 应用程序,则可以使用 Relay Modern 或 Apollo 客户端之类的东西来处理指南中提到的订阅。您可以使用 ActionCable 前端的东西来设置连接。您可以在 http://graphql-ruby.org/guides 中找到有关订阅的所有信息.

关于ruby-on-rails - GraphQL 订阅的用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51806559/

相关文章:

sql - 这可以在一个查询中完成吗?

graphql - 在 Graphql 中解析类型

Python - 解析 graphql,添加一些东西,然后返回查询字符串

graphql - apollo-codegen 输出为空

ruby-on-rails - ActionCable 超时 - Heroku 上的 "Idle Connection"

ruby-on-rails - ActionCable 不更新页面

ruby-on-rails - ActionMailer 中的 relative_url_root

ruby-on-rails - 如何使用 postgres 数据库在 heroku 中禁用准备好的语句

ruby-on-rails - rails 5 has_many through order on through table

ruby-on-rails - 收不到广播