GraphQLについて

>100 Views

January 18, 24

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

1/7 GraphQLについて

2.

2/7 GraphQLとは ・APIと通信するための新しい規格(プロトコル) ・1つのエンドポイントにクエリをまとめて送るため、 リクエストの回数を減らすことができる ・必要なデータのみ操作できるため、 操作後の処理が楽になる ・後からクライアントサイドで必要なデータに 変更が生じても、容易に対応することができる

3.

3/7 GraphQLの構成 GraphQLは二つの構成から成る ①.クエリ言語 クライアント側で用いられ、GraphQLサーバーに リクエストを送るため言語 ②.スキーマ言語 サーバ側で用いる言語で、この言語で記述した仕様に したがって扱われるデータの構造(スキーマ)が決まる (データの操作はリゾルバが行う)

4.

4/7 クエリ言語について クエリは大きく3種類に分かれる。 これらをベースにリクエストをカスタマイズする クエリの効果 クエリの種 クエリの使い道 類 query GET データの取得 mutation POST/UPDADE/DELETE... Etc. データの更新 subscription Websocket イベント通知 データの取得 データの更新

5.

5/7 スキーマ言語について GraphQL独自の記述方法でAPIの仕様を決める データ「Todo」の 型(スキーマ)を決める 「!」はnon-null(必須)を示す [ ]は配列を示す 他のスキーマを内包できる type Query/Mutation/subscriptionは root型と呼ばれ、それぞれのクエリの起点となる typeの他、enumやunion、inputなどを指定して 生成するレスポンスのスキーマを定義する

6.

6/7 GraphQLを用いたデータ取得例 GraphQL独自の設定により、柔軟なデータの取得や更新を行うことができる リクエスト クライアント バックエンド レスポンス クライアント側のクエリ言語から リクエストを作成して送信する 受け取ったリクエストとスキーマ言語より レスポンスを作成して送信する JSON型データ

7.

7/7 GraphQLを用いた開発 ・静的型付け言語との相性がよく、スキーマ言語から 型定義を自動で行ってくれるツールが充実している ・はじめに通信するデータの型を決めてしまい、 それをベースにサーバサイドとクライアントサイド 同時並行で開発しやすくできる(スキーマベース開発) ・エンドポイントが1つであり、1度のリクエストの大きさが ユーザーに依存するため、サーバ負荷対策が難しい