FastAPI: Framework assíncrono para APIs em Python

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é FastAPI

FastAPI — é um framework web moderno e de alta performance para criar APIs com Python. Desenvolvido por Sebastián Ramírez, este framework é construído sobre os padrões OpenAPI e JSON Schema, garantindo geração automática de documentação e tipagem de dados.

FastAPI utiliza os recursos mais recentes do Python, incluindo type hints e programação assíncrona, tornando-se um dos frameworks Python mais rápidos para desenvolvimento de APIs. Em termos de desempenho, ele se compara ao Node.js e Go, sendo uma excelente escolha para aplicações de alta carga.

Principais recursos do FastAPI

Alta performance

FastAPI é construído sobre o Starlette para a parte web e o Pydantic para validação de dados. Isso garante um desempenho no nível dos frameworks Python mais rápidos. O framework oferece suporte completo ao ASGI (Asynchronous Server Gateway Interface), permitindo processar milhares de conexões simultâneas.

Documentação automática

Um dos principais destaques do FastAPI é a geração automática de documentação interativa da API. O framework cria documentação no formato OpenAPI (Swagger) e oferece duas interfaces:

  • Swagger UI — disponível em /docs
  • ReDoc — disponível em /redoc

Suporte completo a tipagem

FastAPI usa as anotações de tipo padrão do Python para validação de dados, serialização e geração automática de documentação. Isso proporciona excelente suporte a autocompletar na IDE e reduz a quantidade de erros durante o desenvolvimento.

Validação de dados integrada

Graças à integração com o Pydantic, o FastAPI valida automaticamente os dados de entrada, converte tipos e retorna mensagens de erro claras. Isso simplifica bastante o desenvolvimento e aumenta a confiabilidade das aplicações.

Assincronismo nativo

FastAPI oferece suporte completo à programação assíncrona com async/await. Isso permite criar aplicações de alto desempenho capazes de processar várias requisições simultâneas.

Instalação e configuração básica

Instalando o FastAPI

Para instalar o FastAPI e todas as dependências necessárias, use o seguinte comando:

pip install fastapi[all]

Este comando instalará o FastAPI junto com o Uvicorn (servidor ASGI) e outras dependências úteis.

Para uma instalação mínima, use:

pip install fastapi
pip install uvicorn[standard]

Criando sua primeira aplicação

Crie um arquivo main.py com uma aplicação básica:

from fastapi import FastAPI

app = FastAPI(
    title="Meu projeto FastAPI",
    description="Este é um exemplo de aplicação FastAPI",
    version="1.0.0"
)

@app.get("/")
async def root():
    return {"message": "Bem-vindo ao FastAPI!"}

@app.get("/health")
async def health_check():
    return {"status": "ok"}

Executando a aplicação

Inicie o servidor de desenvolvimento com o Uvicorn:

uvicorn main:app --reload --host 0.0.0.0 --port 8000

Parâmetros de execução:

  • --reload — recarregamento automático ao alterar o código
  • --host 0.0.0.0 — aceitar conexões de todos os endereços IP
  • --port 8000 — porta para executar o servidor

Trabalhando com métodos HTTP

FastAPI suporta todos os métodos HTTP padrão através de decoradores correspondentes:

Requisições GET

@app.get("/items/{item_id}")
async def get_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

@app.get("/items/")
async def get_items(skip: int = 0,                    

Recommendations