概述
本文将展示如何使用Postman测试GraphQL服务。以如下Schema为例:
type Post {
id: ID!
title: String!
text: String!
category: String
author: Author!
}
type Author {
id: ID!
name: String!
thumbnail: String
posts: [Post]!
}
type Query {
recentPosts(count: Int, offset: Int): [Post]!
}
type Mutation {
createPost(title: String!, text: String!, category: String) : Post!
}
点击“New API”,选择“GraphQL类型”,然后按“Generate Collection”,就可以使用Postman对GraphQL支持的自动完成功能,很方便地编写示例查询。
GraphQL请求
Postman允许以GraphQL格式发送正文,选择下面的GraphQL类型:
然后,我们可以编写一个原生GraphQL查询:
query {
recentPosts(count: 1, offset: 0) {
title
category
author {
name
}
}
}
响应报文如下:
{
"data": {
"recentPosts": [
{
"title": "Post",
"category": "test",
"author": {
"name": "Author 0"
}
}
]
}
}
使用变量
在变量部分,我们可以创建一个JSON格式的模式,为变量赋值:
query recentPosts ($count: Int, $offset: Int) {
recentPosts (count: $count, offset: $offset) {
id
title
text
category
}
}
编辑GRAPHQL VARIABLES部分,其中包含希望将变量设置的值:
{
"count": 1,
"offset": 0
}
总结
使用Postman可以很方便地测试GraphQL,也允许我们导入Schema并生成查询。