Aula 03 - Modelagem de APIs RESTful 📡
Recursos, Verbos e Contratos
Agenda 📅
- O que é REST?
- Recursos e URIs
- Verbos HTTP (GET, POST, PUT...)
- Status Codes
- JSON: A Linguagem das APIs
- Boas Práticas de Design
1. REST: A "Língua" da Web 🌐
- Style arquitetural para sistemas distribuídos.
- Baseado no protocolo HTTP.
- Independência entre Client e Server.
Princípios REST
- Stateless: Cada requisição é única.
- Uniform Interface: Padrões compartilhados.
- Cacheable: Melhore a performance.
2. Identificando Recursos 📍
- Um recurso é qualquer coisa que expomos.
- URI: O endereço do recurso.
O que NÃO fazer:
GET /obterUsuarios ❌
O que fazer:
GET /usuarios ✅ (Sempre substantivos no plural!)
3. Os Verbos HTTP 🛠️
Eles definem a intenção da chamada:
- GET: Buscar dados.
- POST: Criar novo dado.
- PUT: Atualizar (Trocar tudo).
- PATCH: Atualizar (Apenas um pedaço).
- DELETE: Remover dado.
Idempotência e Segurança
| Verbo | Seguro? | Idempotente? |
|---|---|---|
| GET | Sim ✅ | Sim ✅ |
| POST | Não ❌ | Não ❌ |
| PUT | Não ❌ | Sim ✅ |
| DELETE | Não ❌ | Sim ✅ |
4. Status Codes: A Resposta 🚦
- 2xx: Deu certo! (200, 201, 204).
- 4xx: Você (cliente) errou algo (400, 401, 404).
- 5xx: Eu (servidor) quebrei (500, 503).
5. O Formato JSON 🏗️
- Leve, legível e universal.
6. Design de URIs Complexas
Como buscar os pedidos de um usuário específico?
GET /usuarios/123/pedidos ✅
- Hierarquia lógica e limpa.
7. Prática: Postman em Ação 💻
- Testando verbos em APIs reais.
- Analisando Headers e Body.
Desafio REST ⚡
Se você quer mudar apenas o e-mail de um usuário, qual verbo deve usar: PUT ou PATCH?
Resumo ✅
- REST é sobre recursos e padrões.
- URIs usam substantivos no plural.
- Status codes guiam o frontend.
- JSON é o padrão de facto.
Próxima Aula: Swagger e Mocks 📝
- Documentação automática.
- Como trabalhar sem o backend pronto?