GraphQL APIでユーザーを探索

Hasuraは、その他のデータベースの中でも特に、PostgresでインスタントGraphQL APIを提供します。そのため、先ほど作成したテーブルでテストできます。

それでは、users テーブルのGraphQL APIを見ていきましょう。APIを見るにはGraphiQLを使います。GraphiQLは、GraphQL統合開発環境(IDE)です。APIと対話するために使用する強力なツールです。

GraphiQLにアクセスするには、コンソール -> API -> GraphiQLタブに移動します。

ミューテーション

GraphQLミューテーションを使ってユーザーを追加しましょう。以下のコードをGraphiQLインターフェースにコピーします。

mutation {
insert_users(objects:[{id: "1", name:"Praveen"}]) {
affected_rows
}
}

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

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

ユーザーミューテーション

完璧です。これで、先ほど作成した usersテーブルのミューテーションクエリを消費しました。

ヒント:GraphiQLインターフェースの Explorer を使って、数回のクリックでミューテーションを生成できます。

クエリ

それでは、挿入されたばかりのデータのクエリを行いましょう。

query {
users {
id
name
created_at
}
}

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

ユーザークエリ

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

サブスクリプション

users テーブルに対してサブスクリプションクエリを実行して、テーブルの変更を確認しましょう。

subscription {
users {
id
name
created_at
}
}

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

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

新しいブラウザタブで、コンソール -> DATA タブ -> デフォルト -> パブリック -> ユーザー -> 行を挿入に移動して、別の行を挿入します。

新しいユーザーを挿入する

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

ユーザーサブスクリプション

アクティブなサブスクリプションクエリは、クエリに応じて、最新の結果のセットを返し続けます。

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