GraphQL
Beginner
1 min read
Arguments, Aliases, and Variables
Example
# ----- Arguments -----
query GetProduct {
product(id: "42") {
name
price
}
}
# ----- Aliases: two calls to the same field -----
query ComparePrices {
cheap: products(maxPrice: 20) {
name
price
}
premium: products(minPrice: 100) {
name
price
}
}
# ----- Variables (preferred in production) -----
# Query document (static, cached):
query GetUser($userId: ID!, $includeOrders: Boolean = false) {
user(id: $userId) {
name
email
orders @include(if: $includeOrders) {
id
total
}
}
}
# Variables JSON (dynamic, sent separately):
# {
# "userId": "7",
# "includeOrders": true
# }
# @include and @skip directives conditionally add/remove fields:
query GetProfile($withAvatar: Boolean!) {
me {
name
avatar @include(if: $withAvatar)
bio @skip(if: false)
}
}
Related Resources
GraphQL Reference
Complete tag & property list
GraphQL How-To Guides
Step-by-step practical guides
GraphQL Exercises
Practice what you've learned
More in GraphQL