FastAPI 學習之路(十三)Cookie 引數,Header引數
阿新 • • 發佈:2021-10-17
系列文章:
FastAPI 學習之路(一)fastapi--高效能web開發框架
FastAPI 學習之路(十二)介面幾個額外資訊和額外資料型別
我們先來看下如何獲取Header引數。程式碼實現
from typing import Optional from fastapi import FastAPI, Header app = FastAPI() @app.get("/items/") def read_items(user_agent: Optional[str] = Header(None)): return {"User-Agent": user_agent}
我們看下介面請求
這樣我們在請求的時候就可以獲取介面的請求引數了,我們可以在這裡做一些特殊的處理。後續在專案的中增加。
我們看下如何實現帶cookie引數。
from typing import Optional from fastapi import Cookie, FastAPI app = FastAPI() @app.get("/items/") def read_items(ads_id: Optional[str] = Cookie(None)): print(ads_id) return {"ads_id": ads_id}
其實也是很簡單的,我們這裡請求下看下。
我們簡單的做了一個請求。
這樣我們在後續的請求中,我們可以對於header或者cookie做特殊的處理。
我們寫一個簡單的demo。我們要求header的必須有token且token必須是456,沒有返回無許可權,cookie必須有一個name,且等於123,否則返回認證失敗。
我們看下如何實現呢
from typing import Optional from fastapi import Cookie, FastAPI,Header app = FastAPI() @app.get("/items/") def read_items(name: Optional[str] = Cookie(None), token: Optional[str] = Header(None)): if token is None or token!='456': return '無許可權' if name is None or name !="123": return "認證失敗"
我們看下介面請求
我們看下不帶token
token不等於456
我們看下cookie 中的name不等於123,token正確
介面可以正常返回。
文章首發在公眾號,歡迎關注。