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]
}
`