APIs e Microsserviços
Como sistemas conversam entre si: da API mais simples à arquitetura de microsserviços
Esta seção reúne o material sobre APIs e microsserviços: o que são, os diferentes tipos de API, boas práticas de design, como documentar, e quatro exemplos práticos completos: a mesma API de cadastro de usuários (CRUD, autenticação JWT, banco SQLite) construída em Node.js/Express, Python/FastAPI, Go/Gin e Elixir/Phoenix.
Aula 01: Introdução e Motivações
O que é uma API, o que é um microsserviço, monólito × microsserviços, e as motivações (e os custos) de cada abordagem.
Aula 02: Tipos de API
REST, SOAP, GraphQL, gRPC, WebSockets e Webhooks: o que cada um resolve e quando escolher cada abordagem.
Aula 03: Boas Práticas de Design de API
Nomenclatura de recursos, verbos e status codes HTTP, versionamento, paginação, autenticação, rate limiting e tratamento de erros.
Aula 04: Documentação de APIs
Por que documentar, a especificação OpenAPI/Swagger, ferramentas (Swagger UI, Redoc, Postman) e documentação como contrato vivo.
Aula 05: Exemplo Prático: Node.js + Express
Construindo uma API de cadastro de usuários com Node.js e Express: arquitetura em camadas, SQLite, autenticação JWT e middleware de tratamento de erros.
Aula 06: Exemplo Prático: Python + FastAPI
A mesma API de usuários, agora em Python com FastAPI: validação automática com Pydantic, autenticação via dependências e handlers de exceção globais.
Aula 07: Exemplo Prático: Go + Gin
A mesma API de usuários, agora em Go com Gin: tipagem estática, SQLite via database/sql e middlewares explícitos de autenticação e de erros.
Aula 08: Exemplo Prático: Elixir + Phoenix
A mesma API de usuários, agora em Elixir com Phoenix: contexts e Ecto como "M", um Plug de autenticação e action_fallback como middleware de erros.
Aula 09: SOLID Aplicado a APIs
Os cinco princípios SOLID traduzidos para as camadas de uma API: rotas, controllers, services e acesso a dados, com exemplos tirados da própria API construída na Aula 05.
Aula 10: Refatorando a API Node.js para SOLID
Tutorial prático: pegamos a API Node.js/Express da Aula 05 e refatoramos, arquivo por arquivo, aplicando cada princípio SOLID — o que muda, e por quê.
Aula 11: Testes Automatizados na API Node.js
Testes unitários dos services com fakes (o retorno do investimento da Aula 10) e testes de integração HTTP com Vitest + Supertest sobre a API completa.
API de Usuários (ao vivo)
Documentação OpenAPI interativa da API de cadastro de usuários. Rode a implementação de qualquer uma das quatro aulas localmente e teste cada endpoint (incluindo os protegidos por JWT) direto pelo navegador, com um painel "Try it out".