Graphql post 主体 "Must provide query string."
Graphql post body "Must provide query string."
我使用 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
}
}
我认为它必须在请求正文中。我如何发送 'update' 查询或我做错了什么?
Post请求需要管理headers信息。
使用 Http 客户端:Content-Type application/json
使用 Postman 客户端:Content-Type application/graphql
但请求 body 看起来像字符串
{"query":"mutation{update(id:1,x1:\"zazaz\",x2:\"zazaz\"......){id x1 x2}}"}
如果您正在使用 graphql 并想使用 postman 或任何其他 Rest 客户端对其进行测试,请执行此操作。
在邮递员中,select POST
方法并输入您的 URL
并将 Content-Type
设置为 application/graphql
然后在正文中传递您的查询。
示例:
http://localhost:8080/graphql
Mehtod: POST
Content-Type: application/graphql
Body:
query{
FindAllGames{
_id
title
company
price
year
url
}
}
就是这样,你会得到回应。
将内容类型切换为 JSON。
像这样
使用 Postman 版本 7.2.2 我遇到了类似的问题。这个版本的 Postman 开箱即用地支持 Graphql。将 Content-type 更改为 application/json
为我修复了它。
这通常发生在您的 'express-graphql' 没有收到任何参数时。您需要在应用程序中添加 json/applicaton 解析器。
npm install body-parser
如-
const bodyParser = require('body-parser');
app.use(bodyParser.json()); // application/json
我的工作方式如下:
在body
在Headers
不要忘记在 Body 设置上标记 GraphQl [x]
而how was quoted before changes the verb to POST.
进入相关网页,打开“inspect”(写点击->
检查 || chrome)
中的 Ctrl+Shift+I
转到网络选项卡并复制 cURL 命令
打开邮递员,然后导入->原始文本
粘贴复制的命令
然后,继续->
我使用 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
}
}
我认为它必须在请求正文中。我如何发送 'update' 查询或我做错了什么?
Post请求需要管理headers信息。
使用 Http 客户端:Content-Type application/json
使用 Postman 客户端:Content-Type application/graphql
但请求 body 看起来像字符串
{"query":"mutation{update(id:1,x1:\"zazaz\",x2:\"zazaz\"......){id x1 x2}}"}
如果您正在使用 graphql 并想使用 postman 或任何其他 Rest 客户端对其进行测试,请执行此操作。
在邮递员中,select POST
方法并输入您的 URL
并将 Content-Type
设置为 application/graphql
然后在正文中传递您的查询。
示例:
http://localhost:8080/graphql
Mehtod: POST
Content-Type: application/graphql
Body:
query{
FindAllGames{
_id
title
company
price
year
url
}
}
就是这样,你会得到回应。
将内容类型切换为 JSON。
像这样
使用 Postman 版本 7.2.2 我遇到了类似的问题。这个版本的 Postman 开箱即用地支持 Graphql。将 Content-type 更改为 application/json
为我修复了它。
这通常发生在您的 'express-graphql' 没有收到任何参数时。您需要在应用程序中添加 json/applicaton 解析器。
npm install body-parser
如-
const bodyParser = require('body-parser');
app.use(bodyParser.json()); // application/json
我的工作方式如下:
在body
在Headers
不要忘记在 Body 设置上标记 GraphQl [x]
而how was quoted before changes the verb to POST.
进入相关网页,打开“inspect”(写点击-> 检查 || chrome)
中的 Ctrl+Shift+I转到网络选项卡并复制 cURL 命令
打开邮递员,然后导入->原始文本
粘贴复制的命令
然后,继续->