【问题标题】:Lighthouse graphql subscriptionsLighthouse graphql 订阅
【发布时间】:2019-12-02 10:42:36
【问题描述】:

谁能告诉我如何使用 lighthouse graphql 订阅,我按照此处 https://lighthouse-php.com/3.1/extensions/subscriptions.html 的说明完成了所有步骤,但是当移动团队(android 和 ios)尝试使用它时,它会要求他们输入 websocket 端点,所以我该怎么做使用 graphql lighthouse 订阅制作这个 websocket,我一般都知道 laravel websocket,但是如何将这个 websockets 与 graphql lighthouse 订阅连接?

【问题讨论】:

    标签: php laravel graphql laravel-lighthouse


    【解决方案1】:

    默认情况下,Lighthouse 订阅通过Pusher-服务发送。当您运行以下查询时,Lighthouse 将注册订阅服务器端。

    subscription PostUpdated {
        postUpdated(id: 123) {
            title
        }
    }
    

    查询将返回一个 Pusher-channel(参见下面的示例)。您刚刚创建的订阅中的任何事件都将发送到此频道。您的客户端实现必须能够订阅 Pusher 消息。如果您使用的是 Apollo 或 Relay modern,您可以查看 Lighthouse-docs 中的 sn-ps。

    {
      "data": {
        "postUpdated": null
      },
      "extensions": {
        "lighthouse_subscriptions": {
          "version": 1,
          "channels": {
            "PostUpdated": "private-lighthouse-wlAyAuW8aBlthctY2rkRGRlaaGq30Iqr-1564126310"
          }
        }
      }
    }
    

    每当 ID 为 123 的帖子发生更改时,您应该会通过 Pusher 收到一条消息,其中包含查询的数据。请注意,您必须使用@broadcast 指令或手动触发订阅,请参阅trigger subscriptions 了解更多信息。

    【讨论】:

      【解决方案2】:

      您需要使用4.18版本,其余与文档相同

      【讨论】:

        猜你喜欢
        • 2020-02-04
        • 2017-09-19
        • 2021-10-09
        • 2021-03-17
        • 2021-05-25
        • 2020-10-08
        • 2019-05-17
        • 2020-11-17
        • 2020-08-10
        相关资源
        最近更新 更多