通过cURL进行GraphQL查询-意外的<eof>错误

时间:2018-10-03 20:06:58

标签: curl graphql

我正在通过Insomnia客户端传递此消息,没有问题,也没有返回数据:

{ "query": "{purchaseOrders{poNumber}}"}

但是,当我尝试将其推过卷曲时,出现了错误。这是我的curl命令:

curl -X POST -g -H "Authorization:Bearer token" -H "content-type:application/json" -H "accept:application/json" -d '{"query":"{purchaseOrders{poNumber}}"}' https://api.wayfair.com/v1/graphql

我遇到以下错误:

{"errors":[{"message":"Syntax Error GraphQL (1:1) Unexpected <EOF>\n\n1: \n ^\ n","category":"graphql","locations":[{"line":1,"column":1}]}]}

我没有看到像这样的示例,并且在API客户端上获得了成功,所以我不确定问题可能是什么。

编辑以包含POST请求:

POST /v1/graphql HTTP/1.1
Host: api.wayfair.com
Content-Type: application/json
Accept: application/json
Authorization: Bearer <token>
Cache-Control: no-cache
Postman-Token: bf83f6be-a560-43b8-8519-6f05a6a60f83

{"query":"{purchaseOrders{poNumber}}"}

2 个答案:

答案 0 :(得分:1)

发现了问题:

{"query":"{purchaseOrders{poNumber}}"}

应该是:

{\"query\": \"query { purchaseOrders { poNumber }}\" }

现在可以使用附加查询动词

答案 1 :(得分:0)

某些GraphQL客户端根据请求以variablesoperationName的形式请求字段。

身体的例子:

{"query":"{purchaseOrders{poNumber}}", "variables":null, "operationName":null}"