Server-Side: Schema & Resolvers
型定義(スキーマ)こそが契約書。サーバーとクライアントはこれを守る。
Resolver
クエリに対して、実際にデータをどこから取ってくるか(DB? マイクロサービス?)を書く関数。
1. The Schema (SDL)
type User { id: ID! name: String! email: String posts: [Post]}
type Post { title: String! content: String}
type Query { user(id: ID!): User}2. The Resolvers
スキーマの裏側で動く関数。実際にデータをDBから取ってくる役割。
Federation (BFF Pattern):
「User Resolver」は認証サービスへ、「Post Resolver」はCMSへ。GraphQLサーバーはバラバラのバックエンドを1まとめにするゲートウェイとして機能する。