FastAPI 基礎學習(十二) Cookie操作


作者:麥克煎蛋   出處:https://www.cnblogs.com/mazhiyong/ 轉載請保留這段聲明,謝謝!

 

讀取Cookie信息

基於Query、Path等模塊同樣的模式,我們可以利用Cookie模塊來聲明cookies。Cookie是Query、Path的姐妹類,它們都繼承自Param類。

同樣我們也可以便捷的定義Cookie模塊的參數信息。

1、導入模塊

from fastapi import Cookie

2、添加參數信息

參數信息的結構與Query、Path等模塊完全相同。

ads_id: str = Cookie(None)

 

完整示例:

from fastapi import Cookie, FastAPI

app = FastAPI()


@app.get("/items/")
async def read_items(*, ads_id: str = Cookie(None)):
    return {"ads_id": ads_id}

 

返回Cookie信息

我們可以在Response中返回Cookie信息給終端。

1、使用Response參數

我們可以在路徑操作函數中聲明Response參數,然后給這個臨時的Response對象設置cookie信息。

FastAPI通過這個臨時的Response對象解析出cookie信息,然后放入到最終返回的Response對象中。

我們也可以在依賴項中使用Response參數,然后設置cookie信息。

from fastapi import FastAPI, Response

app = FastAPI()


@app.post("/cookie-and-object/")
def create_cookie(response: Response):
    response.set_cookie(key="fakesession", value="fake-cookie-session-value") return {"message": "Come to the dark side, we have cookies"}

2、直接返回Response

我們也可以在直接返回的Response對象中設置cookie信息。

from fastapi import FastAPI
from fastapi.responses import JSONResponse

app = FastAPI()


@app.post("/cookie/")
def create_cookie():
    content = {"message": "Come to the dark side, we have cookies"}
    response = JSONResponse(content=content)  response.set_cookie(key="fakesession", value="fake-cookie-session-value")  return response
 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM