GraphQL
public.icon
Facebookが開発しているWeb APIのための規格で、「クエリ言語」と「スキーマ言語」からなります。
クエリ言語
スキーマ言語
https://udemy.benesse.co.jp/development/system/graphql.html
サーバーにデータを問い合わせることができる
RESTの場合、必要のないデータまで取得してしまうことがあるらしい
https://zenn.dev/nameless_sn/articles/graphql_tutorial
詳細は後述するが、GraphQL最大の特徴は必要以上に大きなデータが返されることを防ぐことにある。これによって、GraphQLは必要最低限のリクエストで必要なdataだけを抽出できる。
https://gyazo.com/474e35a65f24519b2654a96161051a34
検索したいものに対応した、クエリを投げる(この例だと、RepositorySearchだと思う)そこで、query: XXXに”GraphQL”と書いている。これが、「『GraphQL』という名前を含むリポジトリを検索する」という意味
特定のほしい情報のために、クエリを投げないといけない
要は、クライアントは必要なデータの種類を表現するために、より多くの情報をサーバに送信する必要がある。この情報をQuery(クエリ)と呼ぶ。
データを作成する場合はmutationという、すでに予約された(ソフトウェアが完成した時から定義づけられている)関数(?)を使う?