Open1

GraphQL/REST

TkTk

最もメジャーなのはREST API

  • エンドポイントが大量に作成されてしまう
  • リソースの取得に柔軟性がない
    • リソースのover fetch/under fetch

GraphQLの特徴

  • 単一のAPIエンドポイント
  • 柔軟なデータ取得でオーバーフェッチ・アンダーフェッチの回避
  • クライアント側から必要な値だけを取得することができる
    • ネストしていても取得できる
  • 型の情報を活用することができる GraphQLスキーマ
type Task {
id: Int!
name: String
Date: String
}
  • 課題はRESTよりメジャーではなく学習コストが高そう?
  • クライアント側からのリクエストによるのでサーバー側の負荷予測が難しい
  • キャッシュが複雑になりやすい