GraphQL
必要なデータだけ取得できる
データ量の最適化を狙える
クライアントがどのデータを必要としているか「クエリ」という形式でサーバに要求
code:graphql
query {
user(id: "1") {
name
email
}
}
code:json
{
"data": {
"user": {
"name": "Naito",
"email": "naito@example.com"
}
}
}
Fragment
code:graphql
fragment liftInfo on Lift {
name
night
elevationGain
}
query {
Trail(id: "river-run") {
name
difficulty
accessedByLifts {
...liftInfo
}
}
Lift(id: "jazz-cat") {
...liftInfo
trailAccess {
name
difficulty
}
}
}
GraphQL における Fragment とは、複数の Query や Mutation の間で共有することができるロジックのこと
Subscription
データに更新があったらそれを通知する仕組み