This tutorial aims to take you through the process of executing queries in GraphQL. We'll cover how to fetch data using queries and how to shape the response data.
By the end of this tutorial, you will be familiar with:
- Writing and executing GraphQL queries
- Shaping response data
- Handling errors in GraphQL queries
To follow this tutorial, you should have a basic understanding of:
- JavaScript
- REST APIs
- Basic knowledge of GraphQL (optional but beneficial)
In GraphQL, a query is used to read or fetch values. They are similar to the 'GET' requests in REST APIs.
A basic GraphQL query looks like this:
{
  products {
    name
    price
  }
}
In the above example, we are querying a list of products and requesting two fields: name and price.
Here's a simple query to fetch user data:
{
  user(id: 1) {
    name
    email
  }
}
In this example, we are fetching a user by his ID and requesting two fields: name and email.
{
  user(id: 1) {
    name
    friends {
      name
    }
  }
}
In this example, we are fetching a user and his friends' names. The friends field returns an array of complex objects, and we are requesting the name field from each of those objects.
In this tutorial, we learned to write and execute GraphQL queries. We learned how to fetch data and shape the response data. We also discussed handling errors in GraphQL queries.
Write a GraphQL query to fetch a list of books with the title, author, and publishedDate.
Write a GraphQL query to fetch a user's posts and the comments on each post. Request the title field from the posts and the text field from the comments.
Write a GraphQL query to fetch a list of courses. For each course, request the name and description fields. Also, fetch the name and email of the instructor of each course.
For further practice, try to write more complex queries that fetch data from multiple nested objects. Also, check out the official GraphQL documentation for more information.