谁能告诉我如何使用 lighthouse graphql 订阅,我按照这里https://lighthouse-php.com/3.1/extensions/subscriptions.html的说明完成了所有步骤,但是当移动团队(android 和 ios)尝试使用它时,它要求他们输入 websocket 端点,所以我如何使用 graphql lighthouse 订阅制作这个 websocket,我一般都知道 laravel websocket,但是如何将这个 websockets 与 graphql lighthouse 订阅连接?
问问题
2062 次
2 回答
5
Lighthouse 订阅默认通过Pusher服务发送。当您运行以下查询时,Lighthouse 将注册订阅服务器端。
subscription PostUpdated {
postUpdated(id: 123) {
title
}
}
该查询将返回一个 Pusher-channel(参见下面的示例)。您刚刚创建的订阅中的任何事件都将发送到此频道。您的客户端实现必须能够订阅推送消息。如果您使用的是 Apollo 或 Relay modern,您可以查看 Lighthouse-docs 中的片段。
{
"data": {
"postUpdated": null
},
"extensions": {
"lighthouse_subscriptions": {
"version": 1,
"channels": {
"PostUpdated": "private-lighthouse-wlAyAuW8aBlthctY2rkRGRlaaGq30Iqr-1564126310"
}
}
}
}
每次 ID 为 123 的帖子发生更改时,您应该会通过 Pusher 收到一条消息,其中包含查询的数据。请注意,您必须使用@broadcast
指令或手动触发订阅,有关更多信息,请参阅触发订阅。
于 2019-07-26T07:42:26.533 回答
0
您需要使用 4.18 版本,其余与文档相同
于 2021-05-02T02:00:54.080 回答