4章スキーマの設計

GraphQLはデザインプロセスを変える存在です。APIはRESTのエンドポイントの集合ではなく、型の集合としてとらえられるようになります。この新しいAPIを作り始める前に、APIのデータ型を定義する方法について話さなければなりません。このデータ型の集合をスキーマと呼びます。

スキーマファーストは設計の方法論です。スキーマファーストではアプリケーションを作成するチームメンバー全員がデータ型について理解しています。バックエンドの開発者は永続化し、リクエストに応じて返すべきデータ型を明確に理解しています。フロントエンドの開発者はユーザーインターフェースを組み立てるためにそれぞれのデータ型の定義を理解しています。スキーマファーストではすべてのチームメンバーがデータ型を共通言語にして開発にまつわるコミュニュケーションを取ることができます。

型を簡単に定義できるように、GraphQLはスキーマを定義するための言語を用意しています。これはスキーマ定義言語(Schema Definition Language:SDL)と呼ばれます。GraphQL問い合わせ言語と同様に、GraphQL SDLもアプリケーションの構築に用いる言語やフレームワークに依存せずに使用できます。GraphQLのスキーマドキュメントはアプリケーションで使用できる型を定義するテキストのドキュメントで、クライアントとサーバーの両方で、GraphQLのリクエストをバリデーションするために使用します。

この章では、写真共有アプリケーションを例にGraphQLのSDLについて学んでいきます。

4.1 型定義

GraphQLの型とスキーマを学ぶ最適な方法は、実際にそれらを作ってみることです。写真共有アプリケーションはGitHubアカウントを使ってログインし、写真を投稿し、ユーザータグを付加できるサービスです。ユーザーと投稿の管理はすべてのWebアプリケーションに通じる基本的な機能です。 ...

Get 初めてのGraphQL ―Webサービスを作って学ぶ新世代API now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.