GraphQL
Facebookが開発しているWeb APIのための規格
RESTful Web API(REST API)の持つ問題を解決するために開発された規格
「クエリ言語」と「スキーマ言語」からなる
ひとつひとつのフィールドはリゾルバ(resolver)と呼ばれる関数がマッピングされる
graphql/graphiql: GraphiQL & the GraphQL LSP Reference Ecosystem for building browser & IDE tools.
メリット
クエリの構造が(理解できれば)追いやすい。
REST APIであった無駄なデータを取得することがなくなる
デメリット
集計関数がない?
クエリ言語
query: データ取得系
mutation: データ更新系
subscription: イベント通知系
スキーマ言語
Type
Field
interface
union
Scalar
Enum
Directive
Description
syntax
[]で囲むと配列、デフォルトはnullable
!でnon-nullableに
code:memo
例: サンプル
User, Repository,
code:memo.graghql
LSUDs(large set of unknown developers): 大多数の未知の開発者が利用する
SSKDs(small set of known developers): 小数の知っている開発者が利用する
Hasura
チュートリアル: チュートリアル: GraphQL APIの設計
Apollo GraphQL
確認用
Q. GraphQL
Q. GraphQLのメリット
Q. GraphQLのデメリット
参考
GraphQL is the God Mode of Web Development - Reaktor
GraphQLは90%のウェブサービス開発者にはまだ時期尚早ではないか - Qiita
「GraphQL」徹底入門 ─ RESTとの比較、API・フロント双方の実装から学ぶ
prisma-labs/graphql-playground: 🎮 GraphQL IDE for better development workflows (GraphQL Subscriptions, interactive docs & collaboration)
2022/10/19 更新
これを読めばGraphQL全体がわかる。GraphQLサーバからDB、フロントエンド構築 | アールエフェクト
2022/10/26
私が考えるマイクロサービスアーキテクチャ
関連
BFF
メモ
https://youtu.be/QrEOvHdH2Cg?si=na_XMxWcrIdowpL2