QL - Query Language Objetivo - Server para realizar operações de escrita e leitura através da comunicação do front com o back
-
Quais problemas GraphQL resolve?
-
Overfetching - Buscar informações demais
- http://localhost:3000/users
- DB (usuários, endereços)
- http://localhost:3000/users
-
Underfetching - Buscar poucas informações
- http://localhost:3000/users
- DB (usuários)
- http://localhost:3000/users
-
-
Dificuldades
- Cache
- Erros
query {
users {
id
name
github
addresses {
city
state
country
}
}
}
Possuí duas estratégias:
- schema first
- code first [x]
- yarn add type-graphql graphql apollo-server class-validator reflect-metadata
- yarn add typescript @types/node ts-node-dev -D
- Dois conceitos do GraphQL:
- query: buscar dados
- mutation: criar, alterar ou deletar dados