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
クラスを継承しています。
しかし、Query
、Path
、Cookie
などをfastapi
からインポートする際、それらが実際には特別なクラスを返す関数であることを忘れないでください。
情報
Cookieを宣言するにはCookie
を使用する必要があります。そうしないと、パラメーターがクエリパラメーターとして解釈されます。
まとめ¶
Query
とPath
と同じ共通パターンを使用して、Cookie
でCookieを宣言します。