API REST construída com FastAPI que funciona como uma camada intermediária para dados de cardápio de redes de fast food. A aplicação busca informações de uma fonte externa e as disponibiliza através de endpoints próprios, com suporte a filtragem por restaurante.
Endpoint de healthcheck. Verifica se a aplicação está no ar.
Resposta:
{
"Hello": "world"
}Retorna o cardápio dos restaurantes. Suporta filtragem por nome do restaurante via query parameter.
Parâmetros:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
restaurante |
string | Não | Nome do restaurante para filtrar |
Exemplo sem filtro:
GET /api/restaurantes/
Retorna todos os itens de todos os restaurantes.
Exemplo com filtro:
GET /api/restaurantes/?restaurante=McDonald's
Retorna apenas o cardápio do restaurante especificado.
Resposta:
[
{
"nome": "McDonald's",
"item": "Big Mac",
"preco": 25.90,
"descricao": "Dois hambúrgueres, alface, queijo..."
}
]fastapi-venv/
├── main.py # API principal com os endpoints FastAPI
├── app.py # Script auxiliar para download e salvamento local dos dados
└── ...
Nota: O
app.pyé um script independente que baixa os dados da API externa e os salva em arquivos.jsonseparados por restaurante. Ele não interfere na execução da API principal.
- Python 3.8+
- pip
# Clone o repositório
git clone https://github.com/Dan1Ems/fastapi-venv.git
cd fastapi-venv
# Crie e ative o ambiente virtual
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
# Instale as dependências
pip install fastapi uvicorn httpxuvicorn main:app --reloadA API estará disponível em http://localhost:8000.
Documentação interativa (Swagger): http://localhost:8000/docs
Os dados são obtidos em tempo real da API pública:
https://guilhermeonrails.github.io/api-restaurantes/restaurantes.json
A aplicação não utiliza banco de dados — todos os dados são processados em memória a cada requisição.
Esta API não possui autenticação. Todos os endpoints são públicos.