誰が API を使い、そのデータニーズがどれだけ多様か に基づいて選びます — 流行ではなく。GraphQL は多様なクライアントが自分のデータを自分で形作る必要があるときに勝ち、REST はリクエストが均一でキャッシュ可能かつシンプルなときに勝ちます。
誰が API を使い、そのデータニーズがどれだけ多様か に基づいて選びます — 流行ではなく。GraphQL は多様なクライアントが自分のデータを自分で形作る必要があるときに勝ち、REST はリクエストが均一でキャッシュ可能かつシンプルなときに勝ちます。
user -> posts -> comments) をたどるので、N 回の REST 往復が不要になります。GET モデルはあらゆる層で簡単にキャッシュされます。GraphQL が近づくには persisted query が必要です。| 関心事 | GraphQL | REST |
|---|---|---|
| Over/under-fetching | 設計上解決済み | よくある問題 |
| HTTP/CDN キャッシュ | 難しい (手間が要る) | ネイティブで簡単 |
| クエリコスト/DoS 制御 | 自分で追加する必要あり | 自然に境界がある |
| クライアントの柔軟性 | 高い | 低い |
| サーバーの複雑さ | 高い | 低い |
これらは排他的でもありません — 多くのシステムは公開/キャッシュ可能なエンドポイントに REST を、リッチな内部クライアントに GraphQL を公開します。
シニアの面接官は 忠誠心ではなく判断力 を試しています。強い答えは軸を挙げ — クライアントの多様性、キャッシュのニーズ、チームの成熟度、DoS の攻撃面 — そして GraphQL を無条件に優れていると売り込むのではなく、その本当のコスト (キャッシュとクエリコスト制御) を認めます。
ジュニアからシニアまで、詳細な回答付きのIT面接質問ライブラリ。
寄付する