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セクションにロードできます— NewAPIGraphQLタイプで追加し、 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
    }
}

querymutationなどの操作の種類は、省略構文を使用している限り、クエリ本体から省略できます。 この場合、操作と変数の名前を使用することはできませんが、ロギングとデバッグを容易にするために操作名を使用することをお勧めします。

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にあります。