在FastAPI中,依赖项(Dependencies)是一种用于在路由函数运行之前执行某些操作的机制。这包括身份验证、数据验证、数据库连接等操作。以下是一个简单的FastAPI教程示例,演示如何使用依赖项。

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

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

app = FastAPI()

# 定义一个依赖项函数
def get_query_token(token: str = Depends(lambda x: x.query_params.get("token"))):
    return {"token": token}

# 使用依赖项函数
@app.get("/items/")
async def read_items(commons: dict = Depends(get_query_token)):
    return commons

在这个例子中,我们定义了一个依赖项函数get_query_token,它用于从查询参数中获取令牌(token)。在read_items路由函数中,我们使用Depends装饰器将get_query_token依赖项函数绑定到commons参数上。

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

在上面的命令中,我们向 /items/ 发送了一个GET请求,并在查询参数中携带了一个令牌。FastAPI将自动执行依赖项函数,并在响应中返回相应的信息。

这是一个简单的依赖项的示例,实际上你可以定义更复杂的依赖项函数,进行更多的自定义操作,例如数据库连接、权限验证等。




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