GraphQL necesita que nosotros le definamos cuales son los datos con los que va a trabajar. Esto es bastante parecido a lo que ya hacemos con TypeScript. Una vez que ya importamos gql de Apollo Server, podemos empezar a utilizarlo para definir los tipos. Supongamos que tenemos que crear una API de usuarios

const typeDef=gql``

Pasemos a definir el tipo

const typeDefinitions=gql`
  type User{
    id:ID!
    name:String
    phone:String
    mail:String
    gender:String
  }
`

ATENTI

Este tipado, por mas que se parezca a TypeScript, no tiene nada que ver, por lo que no le podemos pasar como typeDef un tipo de TypeScript.

Tambien debemos tipar las consultas que querramos hacer. Supongamos que en nuestra app que tiene usuarios queremos crear dos queries: una que devuelva la cantidad de usuarios y otra que nos muestre a todos los usuarios.

const typeDefinitions=gql`
  type User{
    id:ID!
    name:String
    phone:String
    mail:String
    gender:String
  }

  type Query{
    usersCount: Int!
    allUsers:[User]
  }
`