Open3
HasuraでGraphQL再入門
Fetching data - Queries
Grapiqlで動作確認
基本クエリ
query {
users {
name
}
}
基本引数
query {
users (limit: 1) {
id
name
todos(order_by: {created_at: desc}, limit: 5) {
id
title
}
}
}
- 動的にquery paramをargsとして扱うことが可能
query ($limit: Int!) {
todos(limit: $limit) {
id
title
}
}
{
"limit": 10
}
Reference
Writing data - Mutations
Graphiqlで動作確認
Basic mutation
mutation {
insert_todos(objects: [{title: "new todo"}]) {
returning {
id
title
is_completed
is_public
created_at
}
}
}
-
returning
で指定したfieldsのみ帰ってくる
動的なmutation
# The parameterised GraphQL mutation
mutation($todo: todos_insert_input!){
insert_todos(objects: [$todo]) {
returning {
id
}
}
}
# As a query variable
{
"todo": {
"title": "A new dynamic todo"
}
}
Reference
Watching data - Subscriptions
- 問い合わせではなく、サーバからのpushでdataを受け取ることができる
subscription {
online_users {
id
last_seen
user {
name
}
}
}