SlideShare uma empresa Scribd logo
GraphQL API + Laravel 5.7
PHPMG Talks 2019
5.8
Jansen Felipe
@jansenfelipe
O que é GraphQL API?
Application Programming Interface
API
O que é GraphQL API?
Utiliza o protocolo de
comunicação HTTP
(assim como o REST)
GET /talk/32
{
"title": "1º PHPMG Talks 2019",
"date": "2019-03-21",
"description": "Estamos de volta..",
"place_id": 931
}
GET /place/931
{
"name": "Sympla",
"address": "R. Fernandes Tourinho 147",
"city": "Belo Horizonte/MG"
}
GET /talk/32/participants
[
{
id: 32723,
document: "00011122233",
name: "Lucas Marques"
},
{
id: 88574,
document: "12345678900",
name: "Augusto Morais"
}
]
É 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?
{
"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
GraphQL + PHP
https://github.com/webonyx/graphql-php
PHPTalks 2019: GraphQL + Laravel
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
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
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
GraphQL + Laravel
https://github.com/supliu/laravel-graphql
PHPTalks 2019: GraphQL + Laravel
Criando um novo projeto Laravel
PHPTalks 2019: GraphQL + Laravel
Executando o projeto localhost
PHPTalks 2019: GraphQL + Laravel
Adicionar o pacote
composer require supliu/laravel-graphql
PHPTalks 2019: GraphQL + Laravel
Setup do pacote
PHPTalks 2019: GraphQL + Laravel
Verificando se deu certo
PHPTalks 2019: GraphQL + Laravel
GraphiQL
An in-browser IDE for exploring
GraphQL.
Star Wars GraphQL API - Example
https://graphql.github.io/swapi-graphql
PHPTalks 2019: GraphQL + Laravel
PHPTalks 2019: GraphQL + Laravel
GraphiQL customizado
PHPTalks 2019: GraphQL + Laravel
Live code

Mais conteúdo relacionado

PDF
GraphQL: PUTs, onde foram parar os verbos HTTP?
PPTX
Introdução ao GraphQL - Uma nova forma de criar APIs
PPTX
Introdução ao GraphQL - Uma nova forma de criar APIs (Ruby)
PDF
GraphQL - A Graph Query Language to your API
PDF
GraphQL na Era das APIs
PDF
GraphQL - aposta ou retrocesso?
PDF
GraphQL - A Linguagem do Facebook para APIs
PDF
Construindo APIs RESTful com Spring
GraphQL: PUTs, onde foram parar os verbos HTTP?
Introdução ao GraphQL - Uma nova forma de criar APIs
Introdução ao GraphQL - Uma nova forma de criar APIs (Ruby)
GraphQL - A Graph Query Language to your API
GraphQL na Era das APIs
GraphQL - aposta ou retrocesso?
GraphQL - A Linguagem do Facebook para APIs
Construindo APIs RESTful com Spring

Semelhante a PHPTalks 2019: GraphQL + Laravel (20)

PDF
GraphQL na GetNinjas (2017-09-20)
PDF
InterCon 2017 - Design Coerente: decisões de tecnologia para APIs - Ravan Scafi
PDF
Intro à Graphql
PDF
REST-fuuuu - Boas práticas RESTful [PHPeste 2017]
PPTX
GraphQL - uma nova maneira de projetar api's
PPTX
Utilizando graphQL em projetos .Net
PPTX
Conhecendo API do Facebook
PDF
REST vs GraphQL - A batalha das APIs.pdf
PDF
Rest fuuuu front-end
PDF
REST-fuuuu
PDF
REST vs GraphQL - A batalha das APIs.pdf
PDF
Construindo ap is usando php
PDF
Curso - Introdução - Aprendendo o Básico de Laravel
PDF
GraphQL ou APIs RESTful - DevDay 2017
PPTX
Rest
PDF
PHP Community Summit - Do REST ao GraphQL com PHP
PDF
TDC2017 | POA Trilha Arquitetura - Thinking in GraphQL
PPTX
GraphQL - Uma nova maneira de projetar api's
PDF
GraphQL e WordPress, uma bonita união
PDF
A mágica por trás dos aplicativos ( Api com o Laravel )
GraphQL na GetNinjas (2017-09-20)
InterCon 2017 - Design Coerente: decisões de tecnologia para APIs - Ravan Scafi
Intro à Graphql
REST-fuuuu - Boas práticas RESTful [PHPeste 2017]
GraphQL - uma nova maneira de projetar api's
Utilizando graphQL em projetos .Net
Conhecendo API do Facebook
REST vs GraphQL - A batalha das APIs.pdf
Rest fuuuu front-end
REST-fuuuu
REST vs GraphQL - A batalha das APIs.pdf
Construindo ap is usando php
Curso - Introdução - Aprendendo o Básico de Laravel
GraphQL ou APIs RESTful - DevDay 2017
Rest
PHP Community Summit - Do REST ao GraphQL com PHP
TDC2017 | POA Trilha Arquitetura - Thinking in GraphQL
GraphQL - Uma nova maneira de projetar api's
GraphQL e WordPress, uma bonita união
A mágica por trás dos aplicativos ( Api com o Laravel )
Anúncio

Último (8)

PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Mecânico de Manutenção de Equipamentos.pptx
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Manejo integrado de pragas na cultura do algodão
Mecânico de Manutenção de Equipamentos.pptx
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Arquitetura de computadores - Memórias Secundárias
Viasol Energia Solar -Soluções para geração e economia de energia
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Anúncio

PHPTalks 2019: GraphQL + Laravel