49

我使用 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
  }
}

我认为它必须在请求正文中。我如何发送“更新”查询或我做错了什么?

4

7 回答 7

56

发布请求需要管理标头信息。

  1. 使用 Http 客户端:Content-Type application/json

  2. 使用 Postman 客户端:Content-Type application/graphql

但请求正文看起来像字符串

{"query":"mutation{update(id:1,x1:\"zazaz\",x2:\"zazaz\"......){id x1 x2}}"}
于 2016-04-19T07:54:36.570 回答
13

如果您正在使用 graphql 并想使用 postman 或任何其他 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
   }
 }

就是这样,你会得到回应。

在此处输入图像描述

于 2017-04-26T12:07:56.297 回答
6

使用 Postman 版本7.2.2我遇到了类似的问题。这个版本的 Postman 支持开箱即用的 Graphql。更改内容类型application/json以为我修复它。

显示 Postman 中的内容类型的图像

于 2019-07-13T09:56:22.030 回答
2

对我来说,工作如下:

在身体里

身体邮递员

在标题中

头邮递员

不要忘记在正文设置上标记 GraphQl [x]

在此处输入图像描述

以及如何在将动词更改为 POST 之前引用。

于 2021-04-22T23:11:58.493 回答
2

这通常发生在您的“express-graphql”没有收到任何参数时。您需要在您的应用程序中添加一个 json/应用程序解析器。

npm install body-parser

例如 -

const bodyParser = require('body-parser');

app.use(bodyParser.json()); // application/json
于 2020-04-19T11:09:20.780 回答
1

将内容类型切换为 JSON。像这样见邮递员图片

于 2018-12-04T22:20:32.293 回答
0
  1. 转到相关网页并打开“检查”(通过单击写入 -> 检查 || chrome 中的 Ctrl+Shift+I)

  2. 转到网络选项卡并复制 cURL 命令 在此处输入图像描述

  3. 打开邮递员,然后导入-> 原始文本

  4. 粘贴复制的命令 在此处输入图像描述

  5. 然后,继续->

在此处输入图像描述

于 2021-05-03T17:18:14.453 回答