GraphQL é um padrão de API alternativo ao REST que permite solicitar dados de forma declarativa através de um único endpoint. O documento descreve como implementar uma API GraphQL utilizando o framework Laravel, definindo um schema, queries e mutações para descrever os dados e operações disponíveis.
6. É um padrão de API
Criado pelos engenheiros do Facebook
em 2012 e utilizado em seu aplicativo
mobile.
Três anos mais tarde foi entregue a
comunidade open source.
Em 2016 recebeu seu primeiro release.
Uma alternativa ao REST
O que é GraphQL?
7. {
"title": "1º PHPMG Talks 2019",
"date": "2019-03-21",
"description": "Estamos de volta..",
"place": {
"name": "Sympla"
},
"participants": [
{"name": "Jansen Felipe"},
{"name": "Junior Grossi"}
]
}
GET /graphql?query={
talk(id:1){
title
date
description
place {
name
}
participants {
name
}
}
}
REQUEST RESPONSE
10. Schema
Responsável por descrever exatamente
quais dados podem ser solicitados.
É a documentação da sua GraphQL API.
Na "raiz" do schema é indicado dois tipos
especiais: Query e Mutation
GraphQL + PHP
11. Query
Descreve as operações de busca de
dados, os argumentos aceitos e os tipos
possíveis de serem retornados.
Adicionamos uma função anônima na
chave "resolve" que receberá o as regras
de negócio do seu software.
GraphQL + PHP
12. Mutation
Descreve as operações de alteração de
dados, os argumentos aceitos e os tipos
possíveis de serem retornados.
Adicionamos uma função anônima na
chave "resolve" que receberá o as regras
de negócio do seu software.
GraphQL + PHP