Gop*_*ard 30 express graphql graphql-js
我使用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
}
}
}
Run Code Online (Sandbox Code Playgroud)
并有错误
{
"errors": [
{
"message": "Must provide query string."
}
]
}
Run Code Online (Sandbox Code Playgroud)
在graphql中,我可以在URL中发送更新.
URL字符串太短.我必须发送更新模型
mutation {
update(id: 2, x1: "zazaza", x2: "zazaza", x3: "zazaza" ...(more more fields)...) {
idn
}
}
Run Code Online (Sandbox Code Playgroud)
我认为它必须在请求机构.我如何发送'更新'查询或我做错了?
Gop*_*ard 42
发布请求需要管理标头信息.
使用Http客户端:Content-Type application/json
使用Postman客户端:Content-Type application/graphql
但请求正文看起来像字符串
{"query":"mutation{update(id:1,x1:\"zazaz\",x2:\"zazaz\"......){id x1 x2}}"}
Run Code Online (Sandbox Code Playgroud)
如果您正在使用graphql并希望使用邮递员或任何其他Rest客户端进行测试,请执行此操作.
在邮递员中,选择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
}
}
Run Code Online (Sandbox Code Playgroud)
多数民众赞成你会得到答复.
小智 6
当您的“express-graphql”没有收到任何参数时,通常会发生这种情况。您需要在应用程序中添加 json/applicaton 解析器。
npm install body-parser
Run Code Online (Sandbox Code Playgroud)
例如-
const bodyParser = require('body-parser');
app.use(bodyParser.json()); // application/json
Run Code Online (Sandbox Code Playgroud)
使用 Postman 版本7.2.2我有一个类似的问题。此版本的 Postman 开箱即用地支持 Graphql。更改 Content-typeapplication/json为我修复它。

| 归档时间: |
|
| 查看次数: |
19733 次 |
| 最近记录: |