Contenu connexe

20220113_GraphQLについて.pptx

  1. GraphQLについて 1/7
  2. GraphQLとは ・APIと通信するための新しい規格(プロト コル) ・必要なデータのみ操作できるため、 操作後の処理が楽になる ・1つのエンドポイントにクエリをまとめて送るため、 リクエストの回数を減らすことができる ・後からクライアントサイドで必要なデータに 変更が生じても、容易に対応することができる 2/7
  3. GraphQLの構成 GraphQLは二つの構成から成 る ①.クエリ言 語 クライアント側で用いられ、GraphQLサーバ ーにリクエストを送るため言語 ②.スキーマ言 語 サーバ側で用いる言語で、この言語で記述した仕 様に したがって扱われるデータの構造(スキーマ)が決 まる 3/7
  4. クエリ言語について クエリは大きく3種類に分かれる。 これらをベースにリクエストをカスタマイ ズする クエリの種 類 クエリの効果 クエリの使い道 query GET データの取得 mutation POST/UPDADE/DELETE... Etc. データの更新 subscription Websocket イベント通知 データの取 得 データの更 新 4/7
  5. スキーマ言語について GraphQL独自の記述方法でAPIの仕様を決める データ「Todo」の 型(スキーマ)を決める 「!」はnon-null(必須)を示 す [ ]は配列を示す 他のスキーマを内包でき る type Query/Mutation/subscriptionは root型と呼ばれ、それぞれのクエリの起点と なる typeの他、enumやunion、inputなどを指定し て 生成するレスポンスのスキーマを定義する 5/7
  6. GraphQLを用いたデータ取得例 クライアント バックエンド リクエスト レスポンス クライアント側のクエリ言語 から リクエストを作成して送信す る 受け取ったリクエストとスキーマ言語 より レスポンスを作成して送信する GraphQL独自の設定により、柔軟なデータの取得や更新を行うことが できる JSON型デー タ 6/7
  7. GraphQLを用いた開発 ・静的型付け言語との相性がよく、スキーマ言語か ら 型定義を自動で行ってくれるツールが充実してい る ・はじめに通信するデータの型を決めてしまい、 それをベースにサーバサイドとクライアントサイ ド 同時並行で開発しやすくできる(スキーマベース開 発) ・エンドポイントが1つであり、1度のリクエストの 大きさが ユーザーに依存するため、サーバ負荷対策が難し 7/7