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