GraphQL APIのtodosの紹介

users テーブルと同様、前のステップで作成された todos テーブルには自動生成されたGraphQL APIがあります。それについて紹介します。

それでは、todos テーブルのGraphQL APIを見ていきましょう。

ミューテーション

コンソール -> API -> GraphiQLタブに移動して、GraphQLミューテーションを使ってtodoを挿入します。

mutation {
insert_todos(objects:[{title: "My First Todo", user_id: "1"}]) {
affected_rows
}
}

GraphiQLインターフェースの Play ボタンをクリックして、クエリを実行します。

以下のような応答が得られるはずです。

todoミューテーション

クエリ

それでは、先ほど挿入したデータのクエリを行いましょう。

query {
todos {
id
title
is_public
is_completed
user_id
}
}

以下のような応答が得られるはずです。

todoクエリ

ミューテーション中に挿入しなくても、is_publicis_completed のような一部の列にはデフォルト値があります。

サブスクリプション

todos テーブルに対してサブスクリプションクエリを実行して、テーブルの変更を確認しましょう。上記のGraphQLクエリで、querysubscription に置き換えます。

subscription {
todos {
id
title
is_public
is_completed
user_id
}
}

最初に、サブスクリプションクエリは、応答に既存の結果を返します。

それでは、新しいデータをtodosテーブルに挿入して、応答に表示される変更を確認しましょう。

新しいタブで、コンソール -> DATA タブ -> todo -> 行を挿入に移動して、別の行を挿入します。

新しいtodoを挿入する

そして、前の API タブに切り替えて、2つの結果を返すサブスクリプション応答を確認します。

todoサブスクリプション

Did you find this page helpful?
Start with GraphQL on Hasura for Free
  • ArrowBuild apps and APIs 10x faster
  • ArrowBuilt-in authorization and caching
  • Arrow8x more performant than hand-rolled APIs
Promo
footer illustration
Brand logo
© 2024 Hasura Inc. All rights reserved
Github
Titter
Discord
Facebook
Instagram
Youtube
Linkedin