【发布时间】:2019-03-09 03:33:28
【问题描述】:
我正在通过 Insomnia 客户端传递它,没有任何问题并且返回数据:
{ "query": "{purchaseOrders{poNumber}}"}
但是,当我尝试通过 curl 推动它时,我遇到了一个错误。这是我的 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}}"}
【问题讨论】:
-
您是否将有效负载作为正文数据接收?在客户端,它是如何发送的?有效载荷格式。错误是
Unexpected <EOF>,您的身体数据中缺少某些内容。\n属于错误消息。 -
另外,如果你想使用 curl 之类的 CLI 工具来实现 graphql,你看过github.com/hasura/graphqurl 吗?