在FastAPI中,你可以将类作为依赖项,使得依赖项的配置更加灵活。以下是一个简单的FastAPI教程示例,演示如何将类作为依赖项:

首先,确保你已经安装了FastAPI和uvicorn:
pip install fastapi uvicorn

然后,创建一个名为main.py的文件,输入以下代码:
from fastapi import FastAPI, Depends

app = FastAPI()

# 定义一个依赖项类
class CommonQueryParams:
    def __init__(self, token: str = None, q: str = None):
        self.token = token
        self.q = q

# 使用依赖项类
@app.get("/items/")
async def read_items(commons: CommonQueryParams = Depends()):
    return {"token": commons.token, "q": commons.q}

在这个例子中,我们定义了一个依赖项类CommonQueryParams,该类接受两个参数:token和q。在read_items路由函数中,我们使用Depends装饰器将CommonQueryParams类作为依赖项,FastAPI将自动创建类的实例,并将其传递给commons参数。

你可以使用[httpie](https://httpie.io/)或其他工具来测试这个API。以下是一个使用httpie的示例:
http "http://127.0.0.1:8000/items/?token=mytoken&q=myquery"

在上面的命令中,我们向 /items/ 发送了一个GET请求,并在查询参数中携带了一个令牌和一个查询参数。FastAPI将自动创建CommonQueryParams类的实例,并在响应中返回相应的信息。

这种方式允许你将多个依赖项组织在一起,以便更灵活地处理不同的依赖关系。




转载请注明出处:http://www.pingtaimeng.com/article/detail/7385/FastAPI