GraphQLスキーマファイルの基本的な構造と使用方法


  1. ファイルの作成と拡張子: GraphQLスキーマファイルは、通常、.graphqlまたは.gqlの拡張子を持つテキストファイルとして保存されます。ファイルを作成し、適切な拡張子を付けて保存します。

  2. タイプの定義: スキーマファイルでは、データのタイプを定義します。タイプには、スカラータイプ(文字列、数値、真偽値など)とオブジェクトタイプ(クエリ、ミューテーション、サブスクリプションなど)があります。例えば、以下のようにユーザーオブジェクトタイプを定義できます。

type User {
  id: ID!
  name: String!
  email: String!
}
  1. ルートクエリの定義: スキーマファイルでは、ルートクエリを定義します。ルートクエリは、クライアントがサーバーに対して行うクエリのエントリーポイントです。例えば、以下のようにQueryオブジェクトタイプを定義し、userフィールドを追加できます。
type Query {
  user(id: ID!): User
}
  1. ミューテーションの定義: スキーマファイルでは、データの変更操作(作成、更新、削除など)を定義するためにミューテーションを定義します。例えば、以下のようにMutationオブジェクトタイプを定義し、createUserフィールドを追加できます。
type Mutation {
  createUser(name: String!, email: String!): User
}
  1. スキーマの結合: 最後に、定義したタイプ、ルートクエリ、ミューテーションをスキーマに結合します。以下のように、schemaディレクティブを使用してスキーマを定義します。
schema {
  query: Query
  mutation: Mutation
}