author avatar

syedsibtain

Mon Jan 16 2023

Aliases in Graphql. Let’s say we have a query that return us the cars Data. If we add both the queries, we will get an error. Fields "cars" conflict because they have differing arguments. Use different aliases on the fields to fetch both if this was intentional. UseCase Example: :point_down:This will throw error

{  
  cars(filter: "name = Cars") {
    edges {
      node {
        name
        speed        
      }
    }
  }
  cars {
    edges{
      node{
        name
      }
    }
  }
}

:point_down:This will work

{  
  slowCars: cars(filter: "Cars") {
    edges {
      node {
        name        
      }
    }
  }
  fastCars: cars {
    edges{
      node{
        name
      }
    }
  }
}

It works because we are using aliases here. Aliases let us change the names of the data that is displayed in a query’s results. It is incredibly helpful when we need to fetch the same data using different filters.

Extra Resources: https://blog.logrocket.com/using-aliases-graphql/#:~:text=What%20are%20GraphQL%20aliases%3F,it%20according%20to%20your%20specifications.