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.

  1. Crie o arquivo requirements.txt na pasta codigos/cap17/ com o conteúdo:
fastapi
uvicorn

(Lembre-se de instalar rodando pip install -r requirements.txt no terminal)

  1. Crie o arquivo app.py na pasta src/:
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

  1. Abra o terminal e instale as dependências: pip install fastapi uvicorn.
  2. Abra o terminal na pasta onde está o arquivo app.py.
  3. Execute o comando: uvicorn app:app --reload
  4. O terminal mostrará que o servidor está rodando em http://127.0.0.1:8000/.
  5. 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)


Capitulo Anterior | Proximo Capitulo