Pular para conteúdo

Aula 03 - Modelagem de APIs RESTful 📡

Recursos, Verbos e Contratos


Agenda 📅

  1. O que é REST?
  2. Recursos e URIs
  3. Verbos HTTP (GET, POST, PUT...)
  4. Status Codes
  5. JSON: A Linguagem das APIs
  6. 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 🏗️

{
  "nome": "Curso Backend",
  "modulo": 1,
  "ativo": true
}
  • 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?

Dúvidas? 📡