FastAPI 学习之路(二十三)用类作为依赖的注入

本文通过实例演示了如何在FastAPI中使用类作为依赖注入,介绍了两种常见的实现方式,并展示了如何处理必填和选填参数。

简介: FastAPI 学习之路(二十三)用类作为依赖的注入

我们先看一个简单的demo

from fastapi import FastAPI, Depends
from typing import Optional

app = FastAPI()

fake_db_items = [{"city": "beijing"}, {"city": "shanghai"}, {"city": "guangzhou"}]


class CommonQueryParams:
    def __init__(self, desc: Optional[str] = None, skip: int = 0, limit: int = 10):
        self.desc = desc
        self.skip = skip
        self.limit = limit


@app.get("/items")
def read_items(commons: CommonQueryParams = Depends(CommonQueryParams)):
    res = {}
    if commons.desc:
        res.update({"desc":  commons.desc})
    items = fake_db_items[commons.skip: commons.skip + commons.limit]
    res.update({"items": items})
    return res


if __name__ == '__main__':
    import uvicorn
    uvicorn.run("main:app", reload=True, debug=True)

我们去实现了一个类,然后这个类呢,有初始化方法,我们有介绍,跳过,限制等条件,我们在实现接口的时候,去注入下这个类,我们看下结果;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值