在 FastAPI 中,路径操作装饰器(Path Operation Decorators)是用于声明和定义路径操作的工具。路径操作装饰器通常用于定义 HTTP 方法(GET、POST 等)以及它们的路径和操作。

在路径操作装饰器中,你可以使用依赖项(Dependencies)来处理请求的前置条件或执行其他逻辑。以下是一个使用路径操作装饰器和依赖项的示例:
from fastapi import Depends, FastAPI, HTTPException

app = FastAPI()

# 依赖项函数
def get_query_token(token: str = Depends(lambda x: x.query_token)):
    if token != "fake-token":
        raise HTTPException(status_code=400, detail="Invalid token")
    return token

# 路径操作装饰器和依赖项
@app.get("/items/{item_id}")
async def read_item(item_id: int, token: str = Depends(get_query_token)):
    return {"item_id": item_id, "token": token}

在这个例子中,get_query_token 是一个依赖项函数,它获取查询参数中的 token。然后,它被用作 token 参数的依赖项传递给 read_item 路径操作。

这个例子中使用的是 Depends 函数,它接受一个可调用对象,这个对象在请求处理期间执行。在这里,我们使用了一个 lambda 函数作为可调用对象,获取查询参数中的 token。如果 token 不是 "fake-token",则抛出 HTTPException 表示无效的令牌。

这样,通过路径操作装饰器和依赖项,你可以更灵活地处理和验证请求,并在需要时执行额外的逻辑。


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