首先,确保你已经安装了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.zyzy.cn/article/detail/7385/FastAPI