アプリケーションデータの作成、更新、削除
このガイドでは、Amplifyライブラリの GraphQL クライアントを使用してデータを作成、更新、削除する方法について説明します。
開始する前に、以下が必要です:
ミューテーションを実行してアプリケーションデータを作成、更新、削除する
GraphQL では、ミューテーション (mutations) はデータを作成、更新、削除するために使用される API です。これはデータを読み取るが変更しないクエリとは異なります。以下の例は、Amplify GraphQL クライアントを使用してアイテムを作成、更新、削除する方法を示しています。
アイテムを作成する
Amplify.API.mutate を使用して GraphQL ミューテーションを実行してデータを作成できます。
Future<void> createTodo() async { try { final todo = Todo(name: 'my first todo', description: 'todo description'); final request = ModelMutations.create(todo); final response = await Amplify.API.mutate(request: request).response;
final createdTodo = response.data; if (createdTodo == null) { safePrint('errors: ${response.errors}'); return; } safePrint('Mutation result: ${createdTodo.name}'); } on ApiException catch (e) { safePrint('Mutation failed: $e'); }}アイテムを更新する
Todo を新しい名前で更新するには:
Future<void> updateTodo(Todo originalTodo) async { final todoWithNewName = originalTodo.copyWith(name: 'new name');
final request = ModelMutations.update(todoWithNewName); final response = await Amplify.API.mutate(request: request).response; safePrint('Response: $response');}アイテムを削除する
Todo を削除するには:
Future<void> deleteTodo(Todo todoToDelete) async { final request = ModelMutations.delete(todoToDelete); final response = await Amplify.API.mutate(request: request).response; safePrint('Response: $response');}または、ID で削除することもできます。これはインスタンスがまだメモリにない場合に理想的です:
Future<void> deleteTodoById(Todo todoToDelete) async { final request = ModelMutations.deleteById( Todo.classType, TodoModelIdentifier(id: '8e0dd2fc-2f4a-4dc4-b47f-2052eda10775'), ); final response = await Amplify.API.mutate(request: request).response; safePrint('Response: $response');}まとめ
おめでとうございます! アプリケーションデータの作成、更新、削除ガイドを完了しました。このガイドでは、GraphQL API を通じてアプリデータを作成、更新、削除しました。
次のステップ
推奨される次のステップには、API を使用してデータをクエリし、データの変更を確認するために実時間イベントにサブスクライブすることが含まれます。この作業に役立つリソースには以下が含まれます: