Você está na página 1de 37

APIs com GraphQL

e Azure Functions
Gustavo Bellini Bigardi

gbbigardi@gmail.com

https://www.linkedin.com/in/gbbigardi/

https://twitter.com/gustavobigardi

https://blog.gbbigardi.dev

http://bit.ly/gbbigardi-youtube
http://bit.ly/jundev-youtube
Java, Node, PHP SR, PO, .NET PL & SR
● Protocolo de rede client-server; HTTP
● Usado desde 1990;
● Baseado em Request - Response;
HTTP

Request
HTTP

Response
● Você pode criar seus próprios headers;
● Você pode criar seus próprios métodos;
HTTP
● Você não precisa implementar ou usar
alguns ou todos métodos;
● Você não precisa implementar todos os
headers;
● GET - Significa que uma informação é requisitada,
normalmente identificada na URL;
HTTP
● POST - Significa o envio de dados para
processamento; Methods
● PUT - Significa uma entidade, identificada na URL,
precisa ser gravada ou atualizada.
● DELETE - Siginifica que uma determinada
entidade, identificada na URL, deve ser removida.
● Accept - Formato que esperamos no corpo de HTTP
resposta;
● Content-Type - Formato que estamos usando no
Headers
corpo de requisição;
● Cache-Control - Informações sobre cache para o
servidor Web.
● Authorization - Informações sobre autorização;
HTTP
● 1xx - Informacional
● 2xx - Resposta de sucesso Status
● 3xx - Redirecionamento Codes
● 4xx - Erro no lado cliente
● 5xx - Erro no lado servidor
SOAP, sigla que significa Simple Object
Access Protocol, é um protocolo para
comunicação entre aplicações.
SOAP
Utilizado na construção de WebServices,
utiliza muito XML para sua comunicação,
baseando-se em XML Namespaces e
Schemas para validação dos contratos de
comunicação dos serviços.
<Envelope>

SOAP <Header>

Message </Header>
<Body>

</Body>
</Envelope>
REST, sigla que significa REpresentational
State Transfer, é um modelo arquitetural
REST
para a criação de Serviços / APIs baseados
em recursos, com todo o acesso baseado no
protocolo HTTP padrão.
REST
GraphQL é uma linguagem de consulta para
API, fornecida por um módulo em lado do
servidor que executa sua consulta usando
um sistema de tipos ou schemas que define
GraphQL o formato de seus dados
Desenvolvido em 2012 pelo Facebook,
inicialmente para uso interno.
Primeira RFC criada em 205
Docs: http://graphql.org
GraphQL

Estrutura
GraphQL

Estrutura
GraphQL

Estrutura
GraphQL

Tipos
GraphQL

Validação
A idéia de uma arquitetura serverless é onde
Serverless
fornecemos uma aplicação ou serviço sem
servidores (duhhhhh)...
A idéia de uma arquitetura serverless é onde Serverless
fornecemos uma aplicação ou serviço sem
servidores onde não temos controle dos
servidores ou onde ela está executando.
Temos uma hospedagem como PaaS,
Serverless
escalável onde mensuramos nosso consumo
por quantidade de execuções x tempo.
● Módulos menores e mais fáceis de
Serverless
manter
● Alta escalabilidade
● Menor custo
Azure
Functions
Azure
Functions

Triggers
Azure
Functions

Triggers
Azure
Functions
Microsserviços
DEMO

JavaScript
+
MongoDB
DEMO

https://github.com/gustavobigardi/demo_azure_functions_graphql
CLI Azure
Functions

https://github.com/Azure/azure-functions-core-tools
Obrigado!
Perguntas?

Você também pode gostar