用节点查询graphql

时间:2016-03-05 06:53:39

标签: node.js graphql graphql-js

我正在尝试查询graphQL端点,但我无法弄清楚我做错了什么。我怎么设置graphQL对象来传递。如果我想传递

{
  name {
     age
  }
}

我应该如何包装它以从服务器获得正确的响应?我目前正在使用的完整代码位于

之下
var http = require('http')
var qs = require('querystring')

var options = {
    hostname: 'url',
    method: 'POST',
    path: '/query'
}

var req = http.request(options, function(res){
    console.log('STATUS: ' + res.statusCode);
    console.log('HEADERS: ' + JSON.stringify(res.headers));
    res.on('data', function (chunk) {
        console.log('BODY: ' + chunk);
    });
    res.on('end', function() {
        console.log('No more data in response.')
    })
})

var query = qs.stringify({data: {classes:{}}})


req.on('error', function(e) {
  console.log('problem with request: ' + e.message);
});

req.write(query)
req.end()

3 个答案:

答案 0 :(得分:0)

我根本没有在你的代码中看到graphql。

检查此项目以帮助您的明星:

https://github.com/graphql/express-graphql

答案 1 :(得分:0)

你可以这样做。

payload = {
    "query": `{
        name {
            age
        }
    }`
}
JSON.stringify(payload)

名称"查询"在你的情况下可能会有所不同。基本上,您需要将JSON查询转换为字符串。这就是我使用GitHub GraphQL API v4的方法。

答案 2 :(得分:0)

以下是使用访存的示例。 我认为除非确实需要,否则不需要阿波罗客户端。

string = '''10/21/2019
abcdef
100.00
10/22/2019
ghijk
120.00'''

token_list = string.split()

Data = token_list[0::3]
Description = token_list[1::3]
Amount = token_list[2::3]

Aggregate = list(zip(Data, Description, Amount))
df = pd.DataFrame(Aggregate, columns = ['Data ', 'Description', 'Amount'])