Skip to content

Latest commit

 

History

History
119 lines (80 loc) · 3.05 KB

README.md

File metadata and controls

119 lines (80 loc) · 3.05 KB

Oficina FastAPI GruPy Blumenau 2023

image

Código-fonte da API RESTful construída na oficina de FastAPI realizada no GruPy Blumenau no dia 17/06/2023.

Links interessantes

Iniciando no FastAPI

Instalando as dependências

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.

Nossa primeira aplicação

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.

image

O código feito durante a oficina

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.

image