BootでGraphQLを実装する」で使ったサンプルアプリを例に記述します。Mutationのスキーマ定義まずMutationの命名はアプリケーションと紐づく動詞が望ましいです。今回は、id、name、pageCountの3つを引数に取り戻り値はBook型のスキーマを定義してみます。※この後の説明の都合上、nameフィールドは必須、それ以外は非必須となる引数としています。※「!」の詳細は「GraphQLのスキーマと型定義のエクスクラメーションマークの意味」を参照ください。Book}サーバーサイドサーバーサイドの実装は以下の通りです。GraphQLMutationResolverをimplementsする必要があります(Javaで実装しているためこのようにしています、他の言語では違った形になるかと思います)。スキーマ定義に記述した通り、id、name、pageCountの3つを引数に取り戻り値はBook型のリゾルバであるregisterBookを定義します(コメントにもあるように中身はダミー実装です)※リゾルバについては「GraphQLのリゾルバ(Resolver)とは」を参照ください。GraphQLのスキーマ定義に則りBookを返却。一般的には登録後のデータを返却する。実際にMutationを投げてみます。全ての引数を設定して以下のように投げることができます。スキーマ定義上Book型が返ってくるため、ここではBook型の中のidとnameをレスポンスとしてもらうようなクエリにしています。}}レスポンスは以下のようになります。}}registerBookのname引数は必須なため、以下のようなクエリは構文エラーとなります。}}逆に、name以外の引数は非必須なため、以下のようなクエリは実行可能です(必須な引数のみの指定)。複数のデータを登録するためにmutationにもう1つフィールドを追加します。ここではregisterAuthorを追加します。Author}サーバーサイドも以下のようにregisterAuthorを追加します。GraphQLのスキーマ定義に則りBookを返却。一般的には登録後のデータを返却する。GraphQLのスキーマ定義に則りAuthorを返却。一般的には登録後のデータを返却する。}}クエリは以下の通りです。「クエリ変数」というものを使ってMutationで登録する値を動的に変えることも可能です。クエリは以下のようになります。}}クエリ変数を受け取るために構文上mutationの後に任意のmutation名が必要です(上記ではcreateBookとしています)。クエリ変数は頭に「$」を付けて任意の変数名となります。Playgroundにはクエリ変数ウィンドウがあるので、そのウィンドウにて変数にセットする値をJSON形式で設定して実行します。JSONのキー名がクエリ変数名になります。upLoginユーザーは見つかりませんでした。