Django Rest Framework de A a Z Domine o ecossistema das APIs REST com back-ends escaláveis
Tiago Silva
Conteúdo
Aprenda a criar APIs RESTful robustas e escaláveis com o Django REST Framework, explorando desde os fundamentos até recursos como autenticação JWT, testes automatizados, Docker, Redis, CI/CD, performance e segurança.
Neste livro, Tiago Silva combina teoria e prática em uma jornada guiada pela construção de um projeto real. Mais do que apresentar código, a obra explica os conceitos e as decisões técnicas que tornam aplicações mais escaláveis, seguras e profissionais.
Ao final, você terá desenvolvido uma API completa para seu portfólio e adquirido conhecimentos alinhados às exigências do mercado, preparando-se para atuar com mais confiança no desenvolvimento de sistemas modernos e escaláveis com Django.
Sumário
Parte 1: Configuração do ambiente
- 1. O universo das APIs: da origem à conectividade global
- 1.1 O que é, afinal, uma API?
- 1.2 Uma breve história da integração
- 1.3 Arquitetura de Software: do monólito aos microsserviços
- 1.4 O protocolo da web: HTTP em profundidade
- 1.5 REST: as 6 restrições arquiteturais (constraints)
- 2. Configuração do Python
- 2.1 Instalando o Python e suas dependências
- 2.2 Escolhendo uma IDE
- 2.3 Testando o ambiente para começar
- 3. Configurando o projeto Django
- 3.1 Instalando o Django
- 3.2 Criando o projeto
- 3.3 Sobre o projeto
- 3.4 Arquivos de configuração do projeto
- 4. Nosso primeiro run
- 4.1 Criando as models do projeto
- 4.2 Configurando o Django REST Framework
Parte 2: O essencial do Django REST Framework
- 5. Serialização
- 5.1 Serializando as models
- 5.2 Campos e argumentos da classe Serializer
- 6. Validators - Validações no serializador
- 6.1 Tipos de validators
- 6.2 Padrões avançados de validators
- 6.3 Criando validators customizados
- 7. Autenticação JWT e Autorização no Django REST Framework
- 7.1 Autenticação JWT no DRF
- 7.2 Endpoint de login com JWT
- 7.3 Customizando o login
- 8. Views e paginação: criando nossas views no Django REST Framework
- 8.1 Antes de começar
- 8.2 Model views
- 8.3 Generic views
- 8.4 Paginação
- 9. Automatizando processos com signals
- 9.1 O cenário
- 9.2 Criando nossos sinais em uma estrutura organizacional
- 9.3 Registrando os sinais na aplicação
- 9.4 Testando a automação
- 9.5 Aprofundando em signals (teoria avançada)
Parte 3: Deploy e outros recursos avançados do Django REST Framework
- 10. Testes unitários
- 10.1 Exemplos de testes
- 10.2 Como executar os testes
- 10.3 Criando mais testes para nosso projeto
- 10.4 Indo além: testes avançados
- 11. Documentação de APIs com OpenAPI e Swagger
- 11.1 Documentando APIs no Django REST Framework
- 11.2 Personalizando a documentação
- 12. Preparando seu projeto para o Docker
- 12.1 Passo a passo: criando o Dockerfile
- 12.2 Passo a passo: criando o docker-compose.yml
- 12.3 Instalando o Docker no seu computador
- 12.4 Como rodar o projeto com Docker
- 12.5 Dicas avançadas
- 12.6 Bônus: fazendo o deploy da sua API
- 13. Monitoramento e logging em APIs Django REST
- 13.1 Configurando logging no Django
- 13.2 Registrando logs na sua API
- 13.3 Métricas em sua API - integrando Prometheus ao Django
- 13.4 Monitorando erros com Sentry
- 13.5 Boas práticas de monitoramento e logging
- 14. Teste de estresse com Locust
- 14.1 Locust
- 14.2 Executando testes visualmente via interface web
- 14.3 Estudos de caso
- 15. Streaming e WebSocket
- 15.1 O que é streaming?
- 15.2 Mãos na massa: exportação de produtos via streaming
- 15.3 O que é WebSocket?
- 15.4 Mãos na massa: notificações de estoque em tempo real
- 15.5 Dicas para projetos reais
- 16. Recursos assíncronos e background tasks com Celery
- 16.1 Por que processamento assíncrono?
- 16.2 O que é o Celery?
- 16.3 Mãos na massa: implementando o Celery
- 16.4 8. Automatizando no Docker Compose (dica avançada)
- 16.5 Monitoramento (opcional)
Parte 4: Arquitetura, segurança e outros recursos extras
- 17. Arquitetura Limpa e boas práticas: a arte da Engenharia de Software no Django
- 17.1 Onde mora a lógica de negócios?
- 17.2 DRY (Don't Repeat Yourself) de verdade
- 17.3 Tratamento de erros elegante (Exception Handling)
- 17.4 Segurança e controle: Throttling
- 17.5 Organização de código e "Code Smells"
- 18. Segurança ofensiva e otimização extrema: o nível Principal Engineer
- 18.1 Segurança: além do básico
- 18.2 Performance: o gargalo invisível
- 18.3 Caching com Redis: velocidade da luz
- 19. Apêndice A: cheat sheet (folha de cola)
- 19.1 Docker e Docker Compose
- 19.2 Django (gerenciamento)
- 19.3 HTTP status codes (os essenciais)
- 19.4 Django REST Framework (DRF)
- 19.5 Comandos de teste (Pytest/Unittest)
- 20. Apêndice B: O caminho para Staff Engineer e Principal Engineer (roadmap)
Autor

Tiago Silva
Tiago Silva é graduado em Análise e Desenvolvimento de Sistemas (Simonsen) e pós-graduado em Desenvolvimento Full-Stack com foco em Microsserviços pela PUC-Rio. Especialista em Python, Java e JavaScript, soma mais de 15 anos de experiência prática no mercado como Analista de Sistemas. Há mais de uma década também se dedica à docência na área de tecnologia, atuando há 4 anos como professor no Instituto Infnet.
Dados do produto
- Número de páginas:
- 334
- ISBN:
- 978-85-5519-442-9
- Data publicação:
- 10/2026