我试图在 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.pry
(this gemload_schema
)来查看当您尝试运行方法时发生了什么。它尝试data
从此处获取响应:https ://i.stack.imgur.com/DCTe0.png
但没有data
属性,因为你得到{"errors"=>[{"message"=>"422 Unprocessable Entity"}]}
例如,尝试获取http://graphql-swapi.parseapp.com/ ,这对我有用。