É uma interface para integrar sistemas. • Disponibiliza recursos do sistema para uso externo. • Muito utilizado nas arquiteturas atuais e nas principais empresas(Spotify, facebook, google).
de arquitetura. • Explora os recursos do http (GET, POST, PUT,DELETE, etc). • Define que cada requisição não possui estado ou seja ela possui todos os dados para ser concluída.
É uma linguagem de consulta para API. • O cliente informa os dados que deseja. • Fortemente tipada. • Não se limita ao HTTP(mas é o mais usado). • Pode ser implementado em várias linguagens. Graphql
as queries geralmente são grandes, o mais usado é um POST. • Schemas: É o que vai definir cada tipo e atributo do recurso da consulta. • Resolver: É o que "resolve" a busca ou seja é que vai no banco, outra API e algum serviço realmente buscar aquele recurso. • Query: Específica qual é o resolver e qual o tipo de entrada e saída.
do servidor diminuindo a latência. • Flexibilidade: O client que define quais dados quer, não sobrecarregando o servidor com consultas para dados que não vão ser usados. • Desenvolvimento: Pode ser incrementado com a demanda de seus clients(simples para se desenvolver).
consultar. • Query responde de acordo com a consulta ou seja, caso precise de uma resposta com uma estrutura específica, um conversor deverá ser implementado para realizar a transformação de dados. • Não é bala de prata(Cache, segurança, tempo de execução dos resolvers).