我用
POST type
URL http://######/graphql
Body:
query: "query: "{'noteTypes': {'name', 'label', 'labelColor', 'groupName', 'groupLabel', 'imageUrl'}}"
但它又回来了 " message":"必须提供查询字符串。"
答案 0 :(得分:114)
使用REST客户端Insomnia
可以有更好的方法文档在这里,如何发送graphql查询:https://support.insomnia.rest/article/61-graphql
以下是邮递员的步骤
第1步。
在Chrome中运行GraphiQL,打开Chrome开发者控制台,点击网络标签,然后从graphiql进行查询,当您进行查询时,网络标签会显示graphql请求...
第2步。
从graphql
请求中复制请求查询,选择Copy as cURL (cmd)
第3步。
打开邮递员,在左上角单击Import
按钮后,点击Import
后,您必须点击Paste Raw Text
,然后粘贴复制的cURL
请求完成后,在步骤2中完成后,单击Import
第4步。
Postman已准备好发送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
内容类型的原始类型。因此,查询必须是带有引号".."
{
"query":"{viewer {user {edges {node {id jobId name }}}}}"
}
<强> ============================================ =============================== 强>
您可以直接从step 5
开始,如果您知道如何在邮递员发出请求时需要在正文和其他内容中发送查询
使用简化的JSON
答案 1 :(得分:37)
如果GraphQL服务器响应Content-type: application/graphql
或 postman.setEnvironmentVariable
,则不需要INSOMNIA,
就这样做:
在标题标签中:
Content-Type: application/graphql
在正文选项卡中,选中“原始”,将您的查询
答案 2 :(得分:23)
答案 3 :(得分:19)
这是一种简单的方法。使用预请求脚本对有效负载进行字符串化(source)。
第1步。
在请求正文中为有效负载添加占位符。
{
"query":{{query}}
}
第2步。
在预请求脚本中创建有效负载并将其存储在环境变量中。
postman.setEnvironmentVariable("query", JSON.stringify(
`
{
search(query: "test", type: ISSUE, first: 10) {
issueCount
edges {
node {
... on Issue {
title
id
state
closed
repository {
name
}
}
}
}
}
}
`
));
那就是它。
答案 4 :(得分:11)
它不实用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
对于graphiql(没有添加标题的可能性)你需要设置三件事(它不容易输入):
部首:
Content-Type:application / json
身体:
选择Ray&lt;选项组
选择JSON(application / json)&lt;选择框
使用&#34;查询&#34;撰写javascript对象和&#34;价值&#34;你的图表查询。就像js中的所有对象一样,它贬低了属性和价值,在这种情况下&#34;引用&#34;是属性,值必须是双引号。在值(graphl字符串)中你不构成js对象,所以你不需要使用doble引号,它只是一个字符串。
{&#34; query&#34;:&#34; {allQuotes {text}}&#34; }
问题是你需要在一行中键入all,不像grapIql ... postman github中有一个帖子要求所以很容易使用graphql:
答案 5 :(得分:7)
当我尝试使用graphQl
使用POSTMAN
查询时,我遇到了同样的问题,
在POSTMAN中,使用raw
类型从json
标签发送数据。
查询命令:
{"query":"{user(id:902){id,username,DOB}}"}
突变命令:
{ "query": "mutation {createMutations(reviewer:36, comments:\"hello\",data_id: 1659, approved: true ){id}}" }
#commnent: String Type
#data_id:Int Type
#approved:Boolean Type
答案 6 :(得分:4)
邮递员刚刚发布了7.2版的inbuilt GraphQL support。
此版本支持
- 作为POST请求在请求正文中发送GraphQL查询
- 对GraphQL变量的支持
- 使用GraphQL模式类型在Postman中创建API
- 与用户定义的GraphQL模式集成的查询自动完成
请尝试一下,并向我们提供有关our community forum上的跟踪线程的反馈
答案 7 :(得分:2)
答案 8 :(得分:1)
您还可以在邮递员上使用标题Content-type: application/json
并使用以下内容定义主体:
{
"query": "{ your_query }"
}
这很容易在客户端构建以形成请求有效负载。
例如
输出:
答案 9 :(得分:0)
结帐https://github.com/hasura/graphqurl-卷曲GraphQL:
我是作者之一。
connection reset by peers
答案 10 :(得分:0)
如果您使用的是Visual Studio,我已编写了一个插件将GraphQL转换为Restful主体
https://marketplace.visualstudio.com/items?itemName=orasik.graphql-to-rest-queries
答案 11 :(得分:0)
如果我们可以传递标题类型,则添加标题 Content-type:application / graphql
下面的链接可用作参考: link description here
答案 12 :(得分:0)
Postman最近推出了对GraphQL的开箱即用支持:https://blog.getpostman.com/2019/06/18/postman-v7-2-supports-graphql/
下面是在本地测试GraphQL的屏幕截图:
注意:使用spring-boot https://www.baeldung.com/spring-graphql
在本地运行GraphQL答案 13 :(得分:-2)
通过添加标题,我们可以在邮递员中运行graphql查询
Content-type: application/graphql