【GraphQL入門】RESTに代わるモダンAPIのGraphQLでニュースアプリAPIを構築しながら基礎を学ぶ入門講座
- GraphQL = APIのクエリ言語
- クライアントとサーバーを仲介する役割
- お客さん(クライアント)からの注文をウエイター(API)が厨房(サーバー)に伝え、できあがった料理をウエイター(API)がお客さん(クライアント)に持っていく
- 問い合わせを意味する
- お客さん(クライアント)が「ハンバーグください」という注文(クエリ)を投げる
- APIへ問い合わせする際に使われるもの。
- 現場では「APIを叩く」と表現する
- エンドポイントを指定してデータを取得する(/students, /courses, /instructors)
- エンドポイント単位でデータを取得するため、余計な情報まで取れてしまう
- students/courses/instructorsが全てGraphQLに集約されるため、その中から欲しいデータだけを取得する
- 1つのエンドポイントで済む
- 余計なデータを取得せずに済む
- 型指定でデータが明確になる
- GraphQLのフロント・バックエンドライブラリ
- クライアント側でもサーバー側でもApolloが用いられる
SQL/REST | GraphQL | |
---|---|---|
取得 | SELECT | Query |
登録 | INSERT | Mutation |
更新 | UPDATE | Mutation |
削除 | DELETE | Mutation |
- 次世代オープンソースORM
- ORM(Object Relational Mapping) ≒ RDB(Relational Data Base)
- SQLを知らなくてもRDBを操作できるオープンソースのサービス
- SQL知らんでもRDB触れるよ
- クライアント側からのqueryに応じてDBと接続してサーバー側からデータを返す
- リアルタイム通信。サーバー側で情報が更新されたらクライアント側にもリアルタイムで反映される。