FastAPI系列 全局依赖项

时间:2021-06-09 10:32:07   收藏:0   阅读:0

对于某些应用你可能想在全局应用基础上添加依赖项。这与在路径操作装饰器添加依赖项类似,你可以把它们添加到整个FastAPI应用上。

这样,这些依赖项将会应用到所有的路径操作上。

from typing import Optional
from fastapi import FastAPI, Depends, HTTPException


def query_extractor(q: Optional[str] = None):
    if not q:
        raise HTTPException(status_code=400, detail="q is not null")


app = FastAPI(dependencies=[Depends(query_extractor)])


@app.get("/items/")
async def read_items():
    return [{"item": "Portal Gun"}, {"item": "Plumbus"}]


@app.get("/users/")
async def read_users():
    return [{"username": "Rick"}, {"username": "Morty"}]

这样query_extractor依赖项将会在所有的路径操作中进行应用。

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!