我使用Express-graphql中间件。我在正文行中发送以下请求:
POST /graphql HTTP/1.1
Host: local:8083
Content-Type: application/graphql
Cache-Control: no-cache
Postman-Token: d71a7ea9-5502-d5fe-2e36-0ae49c635a29
{
testing {
pass(id: 1) {
idn
}
}
}
且出错了
{
"errors": [
{
"message": "Must provide query string."
}
]
}
在graphql中,我可以用URL发送更新。
URL字符串太短。我必须发送更新模型,如
mutation {
update(id: 2, x1: "zazaza", x2: "zazaza", x3: "zazaza" ...(more more fields)...) {
idn
}
}
我想它一定在请求正文中。我怎么能发送“更新”查询或我做错了?
8条答案
按热度按时间vaj7vani1#
发布请求需要管理标头信息。
1.使用Http客户端-
Content-Type
:application/json
1.使用Postman客户端-
Content-Type
:application/graphql
但请求正文看起来像字符串
wlsrxk512#
如果您正在使用graphql,并且希望使用postman或任何其他Rest客户端对其进行测试,请执行以下操作。
在postman中,选择
POST
方法并输入URL
,将Content-Type
设置为application/graphql
,然后在正文中传递查询。示例:
就是这样,你会得到回应的。
kx5bkwkv3#
使用Postman版本7.2.2我也遇到过类似的问题。这个版本的Postman支持Graphql。将内容类型改为
application/json
为我解决了这个问题。6pp0gazn4#
对我来说工作如下:
体内
在页眉中
不要忘记在Body设置上标记GraphQl [x]
而如何被引用之前更改为POST的动词。
eyh26e7m5#
1.进入相关网页并打开“检查”(通过书写点击-〉检查||在镶边中按Ctrl+Shift+I)
1.转到网络选项卡,复制cURL命令x1c 0d1x
1.打开postman,然后导入-〉原始文本
1.粘贴复制的命令
1.然后,继续-〉
bmp9r5qi6#
这通常发生在您的express-graphql没有收到任何参数时。您需要在应用程序中添加一个json/applicaton解析器。
例如
mf98qq947#
将内容类型切换为JSON。如下所示
xeufq47z8#
检查您在Postman请求中使用的协议是否正确。
我使用了HTTP而不是HTTPS,这导致了相同的错误。
更改
content-type
、raw
或json
而不是graphql
类型没有帮助。