首先,确保你已经安装了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