首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的Absinthe GraphQL订阅不起作用?

为什么我的Absinthe GraphQL订阅不起作用?
EN

Stack Overflow用户
提问于 2020-02-10 11:25:52
回答 1查看 343关注 0票数 0

我的架构:

代码语言:javascript
复制
 subscription do
    @desc "Subscribe to drawing change"
    field :drawing_change, :drawing do
      # arg(:drawing_id, non_null(:id))

      config(fn _args, _resolution ->
        {:ok, topic: "*"}
      end)
    end
  end

当我这样做的时候

代码语言:javascript
复制
subscription {
  drawingChange {
    data
    name
  }
}

我得到这个错误TypeError: Failed to fetch

日志:

代码语言:javascript
复制
[debug] Processing with Absinthe.Plug
  Parameters: %{"query" => "subscription {\n  drawingChange {\n    data\n    name\n  }\n}", "variables" => nil}
  Pipelines: [:api]
[debug] ABSINTHE schema=DrawingApiWeb.Schema.Schema variables=%{}
---
subscription {
  drawingChange {
    data
    name
  }
}
---
[info] Chunked 200 in 107ms

下面是我剩下的设置:

用户套接字:use Absinthe.Phoenix.Socket, schema: DrawingApiWeb.Schema.Schema

结束:use Absinthe.Phoenix.Endpoint

路由器:

代码语言:javascript
复制
forward "/graphiql", Absinthe.Plug.GraphiQL,
      schema: DrawingApiWeb.Schema.Schema,
      socket: DrawingApiWeb.UserSocket

所有这些都是在我提交任何上下文更改之前发生的。不管是什么问题,都应该在设置中。我遵循了Absinthe-GraphQL书和实用主义工作室视频中的确切说明,并通过https://hexdocs.pm/absinthe/subscriptions.html进行了验证

仍然是同样的错误。提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

发布于 2020-02-10 11:54:10

我找到了。

我没有在Graphiql中设置ws://localhost:4000/socket

现在都好了。干杯

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60143699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档