Apresentação REST API
O que é uma API: API é a sigla para Application Programming Interface, que
em português significa Interface de Programação de Aplicativos. Trata-se de
um conjunto de regras e protocolos que permite que diferentes aplicativos
se comuniquem, trocando dados, recursos e funcionalidades.
Exemplo: Cliente (Client, mobile web)
Garçom (Anotar os pedidos, enviar para o cozinheiro)(API)
Cozinha (Servidor)
Responsável por estabelecer comunicação entre diferentes serviços.
REST
API
Restaurante limpo, que atenda bem, comida boa, e que atenda o que foi
pedido.
Client
Não pode entrar gritando
Nem xingando (Boas práticas)
O rest determina obrigações em transferência de dados.
A transferência é feita com protocolo http
Para isso, tem 6 obrigações que precisam ser atendidas:
Client-server: cliente e servidor devem estar separados (Flask, Django,
FastAPI)
Stateless – Sem estado: cada requisição na API, ela deve ir completa e
retornar com o que foi pedido (Response, request)
Ex: a sessão do usuário deverá ser enviada em todas as requisições, para
saber se o usuário pode acessar às informações. (Token)
Cacheble – as informações devem comtemplar se podem ou não serem
cacheadas pelo cliente.
Layered-system: o cliente vai sempre acessar uma URL (EndPoint) e não
deve saber a dificuldade o servidor encontrar essa informação.
Opcional (Code On Demand): dá a possibilidade da aplicação pegar códigos
em js, por exemplo e executar no cliente.
Uniform Interface: Uniform significa "uniforme", ou seja, uma única forma.
Podemos usar a palavra consistente, constante, padrão ou coerente certo??
Pois sim... O que é então uma Interface Uniforme? É bem tranquilo... Sabe
quando falei que se você escolher o endpoint `/client` do seu resource, você
deve sempre seguir isso para todos os seus Resources? Então, a interface
que você está construindo para os resources está seguindo essa constraint.
Você criou uma padronização dos seus resources.
dados, DELETE deletar dados
Mostrar o SWAGGER
Mostrar como construir com FastAPI, FLASK, DJANGO.
Construção da API: Verbos HTTP: POST enviar dados, GET pegar dados, PUT
atualizar
Colocar as boas práticas
Colocar o status das respostas