FastAPI 学习之路(四)使用pydantic模型做请求体
FastAPI 学习之路(十三)Cookie 参数,Header参数
前言
我们之前分享是路径操作装饰器依赖项,这次我们去分享全局的依赖项。
正文
有时,我们要为整个应用添加依赖项。通过与定义FastAPI 学习之路(二十五)路径操作装饰器依赖项 类似的方式,可以把依赖项添加至整个 FastAPI 应用。
那么我们看下,如何去实现,比如我们全局都需要校验token。我们去看下,我们应该如何实现代码。
from fastapi import FastAPI,Header, HTTPException,Depends
fake_items_db = [{"city": "beijing"}, {"city": "shanghai"},
{"city": "heze"}]
def verify_token(token: str = Header(...)):
if token!="leizishuoceshikaifa":
raise HTTPException(status_code=400, detail="Token header invalid")
app = FastAPI(dependencies=[Depends(verify_token)])
@app.get("/items/")
def read_items():
return fake_items_db
@app.get("/item/")
def read_item(city:str):
for item in fake_items_db:
if item['city']==city:
return item
return {"msg":"not exict"}
那么我们看下,接口是否都需要token。
测试items
我们增加下token
我们去测试下带参数
我们带下token
后记
发现问题,解决问题。遇到问题,慢慢解决问题即可。
欢迎关注雷子说测试开发,后续将会持续为大家分享更多的技术知识
如果你有问题可以留言或者加我微信:952943386。
2021,一起牛转钱坤,一起牛逼。
如果觉得这篇文章还不错,来个【分享、点赞、在看】三连吧,让更多的人也看到~