Código-fonte da API RESTful construída na oficina de FastAPI realizada no GruPy Blumenau no dia 17/06/2023.
Crie um ambiente virtual do Python. Isto é importante para isolar as dependências do projeto, das dependências do seu sistema operacional.
python -m venv .venv
Isso irá criar uma pasta .venv
dentro da sua pasta atual.
Agora, ative o ambiente virtual.
source ./.venv/bin/activate
Instale o FastAPI propriamente dito.
pip install fastapi
Instale o Uvicorn. Usaremos ele para rodar a nossa aplicação.
pip install "uvicorn[standard]"
Pronto, você já pode dar inicio ao desenvolvimento.
Crie um arquivo chamado app.py
e coloque o seguinte conteúdo dentro dele.
from typing import Union
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
return {"item_id": item_id, "q": q}
Para executar a aplicação, rode o comando abaixo no terminal.
uvicorn main:app --reload
Agora, navegue para http://127.0.0.1:8000/docs.
O código que fizemos durante a oficina está dentro do módulo api
.
api
├── services
│ └── carros
│ ├── listar_carros.py
│ ├── detalhes_carro.py
│ ├── criar_carros.py
│ └── atualizar_carros.py
├── schemas
│ ├── padrao.py
│ └── carros.py
├── routes
│ └── carros.py
├── __init__.py
├── dependencies.py
└── app.py
A versão do Python usada foi a 3.11.3
e está declarada no arquivo .python-version
. Você pode instalá-la diretamente pelo site do Python, ou usando pyenv
, como abaixo.
pyenv install $(pyenv local)
Para executá-lo, crie um ambiente virtual e instale as dependências listadas no arquivo requirements.txt
.
python -m venv .venv
source ./.venv/bin/activate
pip install -r requirements.txt
Agora é só rodar o projeto.
uvicorn api.app:app --reload
Agora, é só navegar para http://127.0.0.1:8000/docs.