Criando um CRUD simples com FastAPI

Depois de muito tempo resolvi me aventurar criando uma API com FastAPI.

Bom, para criar um CRUD (sigla para Create, Read, Update e Delete, que são as operações básicas de um sistema de gerenciamento de banco de dados) com o FastAPI, você precisará seguir os seguintes passos:

  1. Instale o FastAPI e as dependências necessárias utilizando o seguinte comando:
pip install fastapi
pip install uvicorn
pip install sqlalchemy
pip install databases

Enter fullscreen mode Exit fullscreen mode

  1. Crie um arquivo main.py e adicione o seguinte código:
from fastapi import FastAPI
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from databases import Database

# cria uma conexão com o banco de dados engine = create_engine('sqlite:///banco_de_dados.db')

# define o objeto base Base = declarative_base()

# define a classe que representa a tabela class Tabela(Base):
    __tablename__ = 'tabela'

    id = Column(Integer, primary_key=True)
    nome = Column(String)
    idade = Column(Integer)

# inicializa o FastAPI app = FastAPI()

# cria a tabela no banco de dados Base.metadata.create_all(engine)

# cria uma sessão com o banco de dados Session = sessionmaker(bind=engine)

# cria uma instância do banco de dados db = Database(engine)

Enter fullscreen mode Exit fullscreen mode

  1. Adicione os endpoints para as operações CRUD da seguinte maneira:
# endpoint para criar um novo registro @app.post('/tabela')
async def criar_registro(nome: str, idade: int, session: Session = Depends(get_db)):
    registro = Tabela(nome=nome, idade=idade)
    session.add(registro)
    session.commit()

# endpoint para ler os registros da tabela @app.get('/tabela')
async def ler_registros(session: Session = Depends(get_db)):
    resultado = session.query(Tabela).all()
    return resultado

# endpoint para atualizar um registro @app.put('/tabela/{id}')
async def atualizar_registro(id: int, nome: str, idade: int, session: Session = Depends(get_db)):
    registro = session.query(Tabela).get(id)
    registro.nome = nome
    registro.idade

Enter fullscreen mode Exit fullscreen mode

Com isso temos uma pequeno exemplo de como é feita uma API em FastAPI.

Com essa tecnologia podemos criar muitas coisas.

🙂

原文链接:Criando um CRUD simples com FastAPI

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容