`fetch':找不到密钥:“数据”(KeyError):graphql-client错误

Nit*_*raj 6 ruby graphql

我试图在 ruby​​ 中使用 graphql 查询来获取 github 存储库。在编写查询之前,我正在努力让 graphql-client 正常工作。我遇到了 graphql 客户端的问题。

我正在关注 graphql 客户端的此链接: https ://github.com/github/graphql-client

require 'graphql'
require 'graphql/client'
require 'graphql/client/http'

module MyGraphQL
  HTTP = GraphQL::Client::HTTP.new('https://github.com/graphql') do
    def client_context
      { access_token: 'xxxxxxxxxxxxxxxxxx' }
    end

    def headers(_context)
      client_context
    end
  end

  Schema = GraphQL::Client.load_schema(HTTP)

  Client = GraphQL::Client.new(schema: Schema, execute: HTTP)
end

Run Code Online (Sandbox Code Playgroud)

我在终端中收到以下错误:

    'fetch': key not found: "data" (KeyError)
    'load'
    'load_schema'
    'load_schema'
Run Code Online (Sandbox Code Playgroud)

小智 3

出现此错误是由于您通过获取https://github.com/graphql收到的响应。

例如,您可以使用binding.prythis gemload_schema )来查看当您尝试运行方法时发生了什么。它尝试data从此处获取响应:https ://i.stack.imgur.com/DCTe0.png

但没有data属性,因为你得到{"errors"=>[{"message"=>"422 Unprocessable Entity"}]}

例如,尝试获取http://graphql-swapi.parseapp.com/ ,这对我有用。