如何通过邮递员发送graphql查询?

ZPP*_*PPP 68 postman graphql

我用

POST type
URL http://######/graphql
Body: 
query: "query: "{'noteTypes':  {'name', 'label', 'labelColor', 'groupName', 'groupLabel', 'imageUrl'}}"
Run Code Online (Sandbox Code Playgroud)

但它返回 "消息":"必须提供查询字符串."

p0k*_*k8_ 123


使用REST客户端Insomnia有一种更好的方法

文档在这里,如何发送graphql查询:https://support.insomnia.rest/article/61-graphql


以下是邮递员的步骤

步骤1.

在Chrome中运行GraphiQL,打开Chrome开发者控制台,单击网络选项卡,然后从graphiql进行查询,当您进行查询时,网络选项卡将显示graphql请求...

在此输入图像描述

第2步.

graphql请求中复制请求查询,选择Copy as cURL (cmd)

在此输入图像描述

第3步.

打开Postman,在左上角单击Import按钮,单击后Import必须单击Paste Raw Text,然后cURL在步骤2完成后粘贴复制的请求单击Import

在此输入图像描述

第4步.

邮差已准备好发送Graphql请求,只需单击Send按钮,您将Response在主体的响应框中看到如下所示

在此输入图像描述

第5步.

要查看查询的发送方式,请单击Body旁边的选项卡Headers,您将了解如何以邮政编码的形式提供JSON格式的字段.

例如:edges {\n node {\n id\n jobId\n }\n,如果要查看其他字段,则需要使用后缀添加\n

如果需要name那么:edges {\n node {\n id\n jobId\n name\n }\n

\n这里只是意味着代表一条新线.相反,您可以通过提供如下所示的清晰且说明性的JSON来简化它

================================================== =========================

注意:正文类型必须是application/json内容类型的原始类型.因此,查询必须是带引号的有效JSON".."

{  
   "query":"{viewer {user {edges {node {id jobId name }}}}}"
}
Run Code Online (Sandbox Code Playgroud)

================================================== =========================

在此输入图像描述

你可以直接从step 5如果你知道如何发送查询到身体和其他东西,从邮递员提出请求时直接开始

在此输入图像描述

使用简化的JSON

在此输入图像描述

  • 使用cURL(bash)复制对我有用,而不是使用Windows 10 OS上的chrome postman应用程序复制为cURL(cmd) (2认同)

Est*_*cas 40

如果GraphQL服务器响应Content-type: application/graphql或者postman.setEnvironmentVariable,您不需要INSOMNIA

去做就对了:

在标题选项卡中: Content-Type: application/graphql

在Body选项卡中,选择"raw",将您的查询

在此输入图像描述


cra*_*sky 24

为搜索主题的任何人添加此内容...您可以使用Insomnia更好,更轻松地利用和测试GraphQL调用:

https://insomnia.rest

这对于GraphQL开发来说非常棒.

  • 谢谢!以下是有关GraphQL的文档:https://support.insomnia.rest/article/61-graphql (2认同)

Tom*_*asz 19

有一种简单的方法可以做到这一点.使用预请求脚本对有效负载()进行字符串化.

步骤1.

在请求的正文中为有效负载放置了一个占位符.

{
    "query":{{query}}
}
Run Code Online (Sandbox Code Playgroud)

第2步.

在预请求脚本中创建有效负载并将其存储在环境变量中.

postman.setEnvironmentVariable("query", JSON.stringify(
`
{
  search(query: "test", type: ISSUE, first: 10) {
    issueCount
    edges {
      node {
        ... on Issue {
          title
          id
          state
          closed
          repository {
            name
          }
        }
      }
    }
  }
}
`
));
Run Code Online (Sandbox Code Playgroud)

而已.

  • 这就像一个魅力,并避免经历前面的答案中描述的所有手动步骤的麻烦!谢谢. (4认同)

vbu*_*004 14

更新 8-2019 - 我知道这已经过时了,但是关于 POSTMAN,如果您还没有弄清楚,他们确实有一个用于发布正文的 graphql(测试版)选项。无需添加任何额外的标题。

在此处输入图片说明


sta*_*ave 11

更新2:

使用POSTMAN是不切实际的,因为它还在以简单的方式添加标题,这需要很长时间,而且我认为POSTMAN不适合用于graphql,

你可以在这里关注它的进展:https: //github.com/postmanlabs/postman-app-support/issues/1669

我建议使用另一个包插件,如:

the best (like postman , but profile and sync price 5$ monthly):
   https://insomnia.rest/
others:
   https://github.com/andev-software/graphql-ide
   https://github.com/imolorhe
Run Code Online (Sandbox Code Playgroud)

对于graphiql(没有添加标题的可能性)你需要设置三件事(它不容易键入):

  1. 标题:

    Content-Type:application/json

  2. 身体:

    选择Ray <optiongroup

    选择JSON(application/json)<selectbox

  3. 使用"查询"和图表查询的"值"编写javascript对象.就像js中的所有对象一样,它需要属性和值,在这种情况下,"quote"是属性,值必须是双引号.在值(graphl字符串)中你不构成js对象,所以你不需要使用doble引号,它只是一个字符串.

    {"query":"{allQuotes {text}}"}

    问题是你需要在一行中输入所有内容,不像grapIql ... postman github中有一个帖子要求所以很容易使用graphql:

在此输入图像描述

在此输入图像描述


Jus*_*ill 8

当我尝试使用graphQl查询时遇到同样的问题POSTMAN,在POSTMAN中从类型的raw选项卡发送数据json.

查询命令:

{"query":"{user(id:902){id,username,DOB}}"}
Run Code Online (Sandbox Code Playgroud)

突变命令:

{ "query": "mutation {createMutations(reviewer:36, comments:\"hello\",data_id: 1659, approved: true ){id}}" }

       #commnent: String Type
       #data_id:Int Type
       #approved:Boolean Type
Run Code Online (Sandbox Code Playgroud)


Ora*_*ras 6

如果您使用的是 Visual Studio,我已经编写了一个插件来将 GraphQL 转换为 Restful body

https://marketplace.visualstudio.com/items?itemName=orasik.graphql-to-rest-queries

在此处输入图片说明


J.L*_*Lin 5

邮递员刚刚在7.2版中发布了内置的GraphQL支持

此版本支持

  • 以POST请求的形式在请求正文中发送GraphQL查询
  • 支持GraphQL变量
  • 使用GraphQL模式类型在Postman中创建API
  • 与用户定义的GraphQL模式集成的查询自动完成

请尝试一下,并在社区论坛上给我们您有关跟踪主题的反馈


Atu*_*l K 5

Postman 最近推出了对 GraphQL 的开箱即用支持:https://blog.getpostman.com/2019/06/18/postman-v7-2-supports-graphql/

下面是本地测试 GraphQL 的截图:

在此输入图像描述

注意:使用 spring-boot 在本地运行 GraphQL https://www.baeldung.com/spring-graphql