Cookie 參數¶
您可以用定義 Query
和 Path
參數相同的方式定義 Cookie 參數。
匯入 Cookie
¶
首先匯入 Cookie
from typing import Annotated
from fastapi import Cookie, FastAPI
app = FastAPI()
@app.get("/items/")
async def read_items(ads_id: Annotated[str | None, Cookie()] = None):
return {"ads_id": ads_id}
from typing import Annotated, Union
from fastapi import Cookie, FastAPI
app = FastAPI()
@app.get("/items/")
async def read_items(ads_id: Annotated[Union[str, None], Cookie()] = None):
return {"ads_id": ads_id}
from typing import Union
from fastapi import Cookie, FastAPI
from typing_extensions import Annotated
app = FastAPI()
@app.get("/items/")
async def read_items(ads_id: Annotated[Union[str, None], Cookie()] = None):
return {"ads_id": ads_id}
提示
如果可能,建議使用 Annotated
版本。
from fastapi import Cookie, FastAPI
app = FastAPI()
@app.get("/items/")
async def read_items(ads_id: str | None = Cookie(default=None)):
return {"ads_id": ads_id}
提示
如果可能,建議使用 Annotated
版本。
from typing import Union
from fastapi import Cookie, FastAPI
app = FastAPI()
@app.get("/items/")
async def read_items(ads_id: Union[str, None] = Cookie(default=None)):
return {"ads_id": ads_id}
宣告 Cookie
參數¶
然後使用與 Path
和 Query
相同的結構宣告 cookie 參數。
您可以定義預設值以及所有額外的驗證或註釋參數
from typing import Annotated
from fastapi import Cookie, FastAPI
app = FastAPI()
@app.get("/items/")
async def read_items(ads_id: Annotated[str | None, Cookie()] = None):
return {"ads_id": ads_id}
from typing import Annotated, Union
from fastapi import Cookie, FastAPI
app = FastAPI()
@app.get("/items/")
async def read_items(ads_id: Annotated[Union[str, None], Cookie()] = None):
return {"ads_id": ads_id}
from typing import Union
from fastapi import Cookie, FastAPI
from typing_extensions import Annotated
app = FastAPI()
@app.get("/items/")
async def read_items(ads_id: Annotated[Union[str, None], Cookie()] = None):
return {"ads_id": ads_id}
提示
如果可能,建議使用 Annotated
版本。
from fastapi import Cookie, FastAPI
app = FastAPI()
@app.get("/items/")
async def read_items(ads_id: str | None = Cookie(default=None)):
return {"ads_id": ads_id}
提示
如果可能,建議使用 Annotated
版本。
from typing import Union
from fastapi import Cookie, FastAPI
app = FastAPI()
@app.get("/items/")
async def read_items(ads_id: Union[str, None] = Cookie(default=None)):
return {"ads_id": ads_id}
「技術細節」
Cookie
是 Path
和 Query
的「姊妹」類別。它也繼承自相同的通用 Param
類別。
但請記住,當您從 fastapi
匯入 Query
、Path
、Cookie
和其他項目時,這些實際上是返回特殊類別的函式。
資訊
要宣告 cookies,您需要使用 Cookie
,否則參數將被解釋為查詢參數。
摘要¶
使用 Cookie
宣告 cookies,使用與 Query
和 Path
相同的通用模式。