FastAPI 学习之路(二十六)全局依赖项

有时,我们要为整个应用添加依赖项。通过与定义FastAPI 学习之路(二十五)路径操作装饰器依赖项

类似的方式,可以把依赖项添加至整个 FastAPI 应用。

       那么我们看下,如何去实现,比如我们全局都需要校验token。我们去看下,我们应该如何实现代码。

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

fake_db_items = [{"city": "beijing"}, {"city": "shanghai"}, {"city": "guangzhou"}]

def verify_token(token: str = Header(...)):
    if token != "mrli_token":
        raise HTTPException(status_code=400, detail="token is invalid")

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

@app.get("/items")
def read_items():
   return fake_db_items


@app.get("/users")
def read_users():
    return "this is test return user"

if __name__ == '__main__':
    import uvicorn
    uvicorn.run("main:app", reload=True, debug=True)

那么我们看下,接口是否都需要token。

①:测试 /items 不带token

 然后我们增加token

②测试下 /users 接口不带token

带token的 /users

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值