Pular para conteúdo

Aula 10 - Construindo APIs REST 🏗️

Arquitetura Profissional e Design de Recursos


Agenda de Hoje 📅

  1. O que é REST na Prática?
  2. Verbos HTTP e Semântica
  3. Organização por Camadas (Pattern)
  4. Status Codes: A Linguagem da Resposta
  5. JSON como Contrato
  6. Mini-Projeto: API de Livros

1. REST: Representational State Transfer 🧊

  • É um estilo de arquitetura para sistemas distribuídos.
  • Recurso: Tudo o que é Nomeável (Substantivo).
  • URI: O Identificador único (ex: /usuarios/1).

2. Verbos HTTP: As Ações 🎬

Verbo Ação Ideal para...
GET Ler Listar ou buscar um item.
POST Criar Inserir novo dado.
PUT/PATCH Atualizar Alterar dados existentes.
DELETE Remover Apagar um recurso.

3. Organização Profissional 📂

"Separe quem recebe o dado de quem decide o que fazer com ele."

  • Handlers: Tratam o HTTP.
  • Services: Regras de Negócio.
  • Models/Entity: A cara do dado.
  • Repository: Acesso ao Banco de Dados.

4. Diagrama de Camadas 📊

graph TD
    Client[Browser/Postman] --> Handler[Handler/Controller]
    Handler --> Service[Service/Business]
    Service --> Repo[Repository/DB]
    Repo --> Data[(Banco de Dados)]

5. Status Codes: O Feedback 🚦

  • 2xx: Sucesso (200 OK, 201 Created).
  • 4xx: Erro do Cliente (400 Bad Request, 404 Not Found).
  • 5xx: Erro do Servidor (500 Internal Error).

6. Mini-Projeto: API de Livros 🚀

  • Criar estrutura de pastas.
  • Implementar Listagem e Cadastro.
  • Separar Structs em um pacote models.

Resumo da Aula ✅

  • REST usa o protocolo HTTP de forma inteligente.
  • Camadas facilitam a manutenção e testes.
  • URIs devem ser substantivos, não verbos.

Próxima Aula: Framework Gin 🚀

  • Desenvolvimento ultra-rápido.
  • Validação automática de JSON.

Dúvidas? 🤔

"Uma boa API é aquela que se explica sozinha."