GraphQL
https://gyazo.com/762edb84b0bf808c1746d10188ebf04a
公式
APIのためのクエリ言語/実装
Pros
必要なデータをクエリを使って柔軟に取得できる
schemaに型情報が含まれるので、コード生成によって型安全を保てる
schemaから型情報を生成してドキュメント/playgroundを生成できる
Cons
resolverの書き方次第でパフォーマンスが悪くなる
一つのフィールドの取得に時間がかかると全体に影響が出る
本番環境ではschemaを取得できないようにする
introspectionの制限
第三者が複雑なものを発行して攻撃できないように気をつける
complexityの制限
HTTPのSemanticsを無視しているものがある
ボトルネックの探し方がRESTと異なる
X-Rayやapollo-tracingなどいろいろな方法がある
Query
RESTでいうGET
Mutation
RESTでいうGET以外
Subscription
pub/sub
resources
https://book.productionreadygraphql.com/
https://zenn.dev/hsaki/books/golang-graphql/viewer/intro
ebiken.icon gqlgen でGraphQLサーバーを半年間運用してみた感想
https://speakerdeck.com/sonatard/graphql-knowhow
https://speakerdeck.com/sonatard/purotokoru-intahuesutositenographql
https://speakerdeck.com/sonatard/rethinking-graphql
https://speakerdeck.com/quramy/graphqltofalsexiang-kihe-ifang-2022nian-ban
https://speakerdeck.com/sonatard/graphql-knowhow-v2
https://speakerdeck.com/izumin5210/graphql-server-technology-selection
go x graphql
https://tech.layerx.co.jp/entry/2021/10/22/171242
https://tech.layerx.co.jp/entry/2021/04/12/121427
https://tech.layerx.co.jp/entry/2021/04/13/090000