Este é um projeto de exemplo que implementa uma API REST em Python usando o framework FastAPI junto do Uvicorn. A API possui duas rotas:
-
Rota de Saúde (/api/health):
- Responde a uma requisição GET com a mensagem "Estou saudável", indicando que o servidor está funcionando corretamente.
-
Rota de Fibonacci (/api/fibonacci):
- Recebe uma requisição POST com um número de elementos e retorna uma lista contendo os elementos da sequência de Fibonacci até o número especificado.
- Exemplo de entrada:
{"elementos": 7}
- Saída correspondente:
[0, 1, 1, 2, 3, 5, 8]
Antes de começar, certifique-se de ter os seguintes pré-requisitos instalados:
- Python 3.10 ou posterior
- Docker
- Um ambiente de desenvolvimento ou servidor com acesso à internet para clonar o repositório e executar a aplicação.
-
Entre no repositorio
cd fib-fast-api
-
Instale as dependencias
pip install -r requirements.txt
-
Rode o servidor
uvicorn src.app:app --host 0.0.0.0 --port 8000 --reload
A API estará disponível em http://localhost:8000
.
You can check our swagger documentation by entering http://localhost:8000/docs
-
Contrua a imagem
docker build -t fastapi-app .
-
Inicie o container
docker run -p 8000:8000 fastapi-app
A API estará disponível em http://localhost:8000
.
Agora que a aplicação está em execução, você pode testar as rotas usando ferramentas como curl ou Postman.
-
GET
/api/health
curl -X GET http://localhost:8000/api/health "Estou saudável"
-
POST
/api/fibonacci
curl -X POST -H "Content-Type: application/json" -d '{"elementos": 4}' http://localhost:8000/api/fibonacci [ 0, 1, 1, 2]
Essa aplicação possui testes unitários, voce pode executar-los para garantir que o codigo funciona como esperado.
-
Entrar no projeto
cd fib-fast-api
-
Executar os testes
python -m unittest discover tests/