🚀
GraphQL学習メモ
業務でGraphQLを触ることになりましたが、全く知見がなかったためここにメモとして残します。
GraphQLとは
API用のクエリ言語
リクエストを送るために使ったライブラリ
- GraphQL クライアント(
request
メソッド)
const request = request(endpoint, gql(query), { variable });
typescriptの型定義ファイル生成
- graphqlは型が必須のため、スキーマ定義したものの型定義が必要になります。これを自動で生成してくれるのが
graphql-codegen
というライブラリになります。
※GraphQLは様々なライブラリとの組み合わせ方がネットに載っているため、比較的導入しやすいかと思います。
参考
また、GraphQLをサポートしているサービスでは、queryについて例が載っている場合が多いため、クエリを作るのも簡単だなと感じました。
GraphQLのデメリット
- ネットワークキャッシングが使用できない
- RestAPIのようにURLベースではなく、単一のエンドポイントのため、キャッシングができない
- クライアント側で状態管理やキャッシュ管理のライブラリを導入する必要あり(Reactですと
Redux
,React query
など)
参考
今回のメモとは関係ないですが、GraphQLの理解に役に立ったものを紹介します
Discussion