Yanonoblog!

こつこつと

GraphQL - クエリとミューテーション

はじめに

GraphQLのドキュメントを読んでまとめていきます。

ところどころ気になった部分を調べて補足したり解釈を入れています。

https://graphql.org/learn/queries/

クエリとミューテーションの基本

GraphQLにおける、オブジェクト上の特定のフィールドを要求する方法について説明します。

GraphQL はオブジェクトの特定のフィールドを要求します。

シンプルなクエリの例

以下は、非常にシンプルなクエリとその結果の例です。

クエリ

{
  vehicle {
    model
  }
}

結果

{
  "data": {
    "vehicle": {
      "model": "XJ-200"
    }
  }
}

この例では、クエリと結果の形状が完全に一致していることがわかります。

フィールドの型

フィールド名は文字列型を返し、このケースでは主要な乗り物のモデル名 "XJ-200" を返します。

インタラクティブなクエリ

上記のクエリはインタラクティブで、変更して新しい結果を確認することができます。

オブジェクトへの参照

フィールドはオブジェクトを参照することもでき、そのオブジェクトのフィールドのサブセレクションを作成できます。

クエリ

{
  vehicle {
    model
    # クエリにはコメントが付けられます!
    passengers {
      name
    }
  }
}

結果

{
  "data": {
    "vehicle": {
      "model": "XJ-200",
      "passengers": [
        {
          "name": "Taro Yamada"
        },
        {
          "name": "Hanako Suzuki"
        },
        {
          "name": "Yosuke Sato"
        }
      ]
    }
  }
}

この例では、passengersフィールドがアイテムの配列を返すことがわかります。

クエリは単一のアイテムまたはアイテムのリストに対して同じように見えますが、スキーマに基づいて期待するものを知ることができます。

おしまい

コメント

本記事の内容は以上になります!


プログラミングスクールのご紹介 (卒業生より)

お世話になったプログラミングスクールであるRUNTEQです♪

https://runteq.jp/r/ohtFwbjW

こちらのリンクを経由すると1万円引きになります。

RUNTEQを通じて開発学習の末、受託開発企業をご紹介いただき、現在も双方とご縁があります。

もし、興味がありましたらお気軽にコメントか、TwitterのDMでお声掛けください。

https://twitter.com/outputky