Lançado · em melhoria
Framework · Desde 2018
FastAPI é um framework web Python de alto desempenho para criar APIs, que usa anotações de tipo para validação, serialização e documentação automática.
FastAPI é um framework moderno para criar APIs web em Python. Sebastián Ramírez o lançou pela primeira vez em 2018, e hoje ele é desenvolvido como projeto de código aberto com uma grande comunidade. Ele usa o Starlette na camada web e o Pydantic na validação de dados, então as anotações de tipo dos parâmetros bastam para converter e validar requisições, serializar respostas e gerar uma descrição OpenAPI da sua API.
FastAPI se destaca onde validação de entrada e documentação importam: backends REST, microsserviços, disponibilização de modelos de machine learning e ferramentas internas. Como roda sobre ASGI, endpoints async atendem muitas conexões simultâneas com eficiência, e funções def comuns continuam funcionando. O sistema de injeção de dependências permite separar sessões de banco de dados, autenticação e configurações e trocá-las com facilidade nos testes.
Para começar, crie um ambiente virtual, instale com pip install "fastapi[standard]", rode fastapi dev main.py e abra /docs para chamar seus endpoints pela documentação interativa. O guia oficial Tutorial - User Guide avança passo a passo dos parâmetros de caminho até segurança, bancos de dados e testes, e foi pensado para ser lido em ordem. Quando você estiver à vontade com anotações de tipo do Python e modelos do Pydantic, a maior parte do FastAPI fica natural.
Os tipos dos parâmetros e os modelos do Pydantic bastam para converter e validar os dados da requisição, com erros detalhados para entradas inválidas.
Um esquema OpenAPI é gerado a partir do código e servido como documentação interativa em /docs (Swagger UI) e /redoc.
Declare sessões de banco de dados, autenticação ou parâmetros comuns com Depends; o FastAPI os resolve a cada requisição e os testes podem substituí-los.
Construídos sobre Starlette e ASGI, endpoints async def lidam com muitas conexões simultâneas com eficiência, lado a lado com funções def comuns.
Crie e ative um ambiente virtual Python na pasta do projeto. O comando abaixo é para macOS e Linux; no Windows, ative com .venv\Scripts\activate.
python -m venv .venv && source .venv/bin/activateInstale o FastAPI com os extras standard, que trazem dependências comuns como o servidor Uvicorn e a ferramenta de linha de comando fastapi.
pip install "fastapi[standard]"Crie o main.py e inicie o servidor de desenvolvimento. Ele recarrega sozinho quando você altera o código, e em http://127.0.0.1:8000/docs você vê a documentação interativa da API.
fastapi dev main.pyFastAPI() cria a aplicação, e o decorador @app.get liga um caminho e um método HTTP a uma função. O dicionário retornado vira uma resposta JSON. No segundo endpoint, item_id: int converte e valida o valor do caminho como inteiro, enquanto q, por ter valor padrão, vira um parâmetro de consulta opcional. Rode fastapi dev main.py e teste os dois endpoints em /docs.
main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello, world!"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str | None = None):
return {"item_id": item_id, "q": q}
pip install "fastapi[standard]"
fastapi dev main.pySeis capítulos que levam você da instalação aos conceitos essenciais de FastAPI.
Tire dúvidas, compartilhe experiências e troque opiniões sobre FastAPI.
Ainda não há discussões. Comece a primeira.
0 comentários
Fazer login · Faça login para deixar um comentário.
Seja o primeiro a comentar.