[FastAPI-36]依赖注入yield-在路径操作函数结束时,会自动关闭db连接回收资源

发布时间 2023-03-26 22:20:10作者: LeoShi2020
from fastapi import Depends, FastAPI


app = FastAPI(title="依赖注入yield",
              description="在路径操作函数结束时,会自动关闭db连接回收资源。及时在路径函数会出现异常报错,最终也会关闭连接。")


def get_db():
    db = DBSession()
    try:
        yield db
    finally:
        db.close()


@app.get("/books/")
def books(db: Depend(get_db)):
    # db.execute("select * form books")   db操作
    pass