Postmanを使用してGraphQLをテストする方法
1. 概要
この短いチュートリアルでは、Postmanを使用してGraphQLエンドポイントをテストする方法を示します。
2. スキーマの概要と方法
GraphQLチュートリアルで作成されたエンドポイントを使用します。 念のため、スキーマには投稿と作成者を説明する定義が含まれています。
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 {
writePost(title: String!, text: String!, category: String) : Post!
}
ミューテーションを使用してデータを保存する場合、必須フィールドには感嘆符が付けられます。 また、 Mutation では、返されるタイプは Post ですが、 Query、では、Postオブジェクトのリストが表示されることに注意してください。 。
上記のスキーマはPostmanAPIセクションにロードできます— NewAPIをGraphQLタイプで追加し、 GenerateCollectionを押すだけです。
スキーマをロードすると、PostmanのGraphQL のオートコンプリートサポートを使用して、サンプルクエリを簡単に記述できます。
3. PostmanでのGraphQLリクエスト
まず、Postmanでは本体をGraphQL形式で送信できます—以下のGraphQLオプションを選択するだけです。
次に、 title 、 category 、および作成者nameをQUERYセクションに取得するようなネイティブGraphQLクエリを記述できます。
query {
recentPosts(count: 1, offset: 0) {
title
category
author {
name
}
}
}
そして、その結果、次のようになります。
{
"data": {
"recentPosts": [
{
"title": "Post",
"category": "test",
"author": {
"name": "Author 0"
}
}
]
}
}
生のフォーマットを使用してリクエストを送信することも可能ですが、ヘッダーセクションに Content-Type:application/graphqlを追加する必要があります。 そして、この場合、体は同じように見えます。
たとえば、 title、text、 category、 get id and titleを応答として更新できます。
mutation {
writePost (
title: "Post",
text: "test",
category: "test",
) {
id
title
}
}
queryやmutationなどの操作の種類は、省略構文を使用している限り、クエリ本体から省略できます。 この場合、操作と変数の名前を使用することはできませんが、ロギングとデバッグを容易にするために操作名を使用することをお勧めします。
4. 変数の使用
変数セクションでは、変数に値を割り当てるJSON形式のスキーマを作成できます。 これにより、クエリ文字列に引数を入力する必要がなくなります。
したがって、QUERYセクションの reservedPosts bodyを変更して、変数から値を動的に割り当てることができます。
query recentPosts ($count: Int, $offset: Int) {
recentPosts (count: $count, offset: $offset) {
id
title
text
category
}
}
そして、変数を次のように設定して、GRAPHQLVARIABLESセクションを編集できます。
{
"count": 1,
"offset": 0
}
5. 概要
Postmanを使用してGraphQLを簡単にテストできます。これにより、スキーマをインポートしてクエリを生成することもできます。
リクエストのコレクションは、GitHubのにあります。