Почему моя подписка на Absinthe GraphQL не работает?

Моя схема:

 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

Когда я делаю

subscription {
  drawingChange {
    data
    name
  }
}

Я получаю эту ошибку TypeError: Failed to fetch

Бревно:

[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

Маршрутизатор:

forward "/graphiql", Absinthe.Plug.GraphiQL,
      schema: DrawingApiWeb.Schema.Schema,
      socket: DrawingApiWeb.UserSocket

Все это происходит до того, как я внесу какие-либо изменения в какой-либо контекст. Какой бы ни была проблема, она должна быть в настройке. Я следовал точным инструкциям в книге Absinthe-GraphQL и Pragmatic Studio Video, и я проверил их с помощью https://hexdocs.pm/absinthe/subscriptions.html

Все та же ошибка. Заранее благодарю за вашу помощь.


person Mr H    schedule 10.02.2020    source источник


Ответы (1)


Я нашел это.

Я не устанавливал ws://localhost:4000/socket в Graphiql.

Теперь все хорошо. ваше здоровье

person Mr H    schedule 10.02.2020