Capítulo 17: Introdução ao FastAPI (Web API) 🕸️🔴
No curso de Java, usamos o Spring Boot para criar aplicações web. No Python, uma das ferramentas mais modernas e rápidas para isso é o FastAPI! Neste capítulo, vamos criar nosso primeiro servidor web, com o tema do Homem-Aranha!
📖 O que é o FastAPI?
FastAPI é um framework web moderno e rápido (de alto desempenho) para construção de APIs com Python, baseado nos type hints padrões do Python. Ele é extremamente fácil de usar e já gera documentação automática para a sua API!
📖 Exemplo Guiado: Meu Primeiro Servidor Web
Vamos criar um servidor que responde com uma mensagem do Homem-Aranha quando acessado.
- Crie o arquivo
requirements.txtna pastacodigos/cap17/com o conteúdo:
fastapi
uvicorn(Lembre-se de instalar rodando pip install -r requirements.txt no terminal)
- Crie o arquivo
app.pyna pastasrc/:
from fastapi import FastAPI
# Inicializando o aplicativo FastAPI
app = FastAPI()
# Definindo a rota principal (home) com o método GET
@app.get('/')
def home():
return "Com grandes poderes vêm grandes responsabilidades! - Servidor do Aranha Ativo."🕹️ Como Executar e Testar no VS Code
- Abra o terminal e instale as dependências:
pip install fastapi uvicorn. - Abra o terminal na pasta onde está o arquivo
app.py. - Execute o comando:
uvicorn app:app --reload - O terminal mostrará que o servidor está rodando em
http://127.0.0.1:8000/. - Abra o seu navegador e acesse esse endereço!
Resultado Esperado no Navegador:
"Com grandes poderes vêm grandes responsabilidades! - Servidor do Aranha Ativo."(O FastAPI retorna em formato JSON por padrão, então o texto aparecerá entre aspas).
📊 Ilustração Visual: Funcionamento do FastAPI
Veja como o navegador conversa com o seu servidor FastAPI:
graph LR A["🌐 Navegador do Usuário"] -->|1. Acessa http://127.0.0.1:8000/| B["💻 Servidor FastAPI"] B -->|"2. Executa a função home()"| B B -->|3. Retorna o texto| A
🛠️ Prática Obrigatória 1: Nova Rota de Ajuda
Adicione uma nova rota chamada /ajuda no seu arquivo app.py (usando @app.get('/ajuda')) que retorne a mensagem: “Chamando os Vingadores para apoio!“. Teste acessando http://127.0.0.1:8000/ajuda no navegador.
🔑 Gabarito de Código
Prática 1: app.py atualizado
from fastapi import FastAPI
app = FastAPI()
@app.get('/')
def home():
return "Com grandes poderes vêm grandes responsabilidades! - Servidor do Aranha Ativo."
@app.get('/ajuda')
def ajuda():
return "Chamando os Vingadores para apoio!"📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
(Siga o mesmo padrão do Capítulo 01)