👋

【GraphQL】ざっくりGraphQL入門

2021/03/29に公開

RESTful APIについて調べていたら見かけたので調べてみた。

GraphQLとは

GraphQLはAPIへの問い合わせ言語。RESTfulの後継として期待されている模様。

RESTful APIとの違い

こちらの説明が良かった。

RESTful な API においては、URL とリソースは対応しているわけですから、REST と GraphQL の違いは、 「リソースをどのような URL で定義するか」と「リソースをどのようなスキーマで定義するか」という違い になります。引用:https://tech.jxpress.net/entry/graphql-vs-rest

GraphQLのメリット

  1. クエリとレスポンスの構造に対応関係がある
  2. クエリの学習コストが低い。
  3. URLがシンプル

GraphQL開発の流れ

  1. スキーマ(クエリの定義)を書く
  2. リゾルバー(クエリを受け取りデータを渡す処理)を書く
  3. 動作確認

大体、こんな感じ。

query ExampleQuery {
  countries {
    code
    name
  }
}

参考:https://zenn.dev/thim/articles/3d98b275df79939a003b

GraphQL用のツール

ブラウザ型IDE
https://github.com/graphql/graphiql
https://github.com/prisma-labs/graphql-playground

AWS AppSync(GraphQLを使ってデータアクセスできるマネージド型サービス)
https://aws.amazon.com/jp/appsync/

GraphQLのコーディングスタイルガイド

https://bitjourney.kibe.la/shared/entries/1f26acbe-315f-42b8-9ecd-11bcaac5b697

Discussion