クッキーのパラメータ¶
クッキーのパラメータは、QueryやPathのパラメータを定義するのと同じ方法で定義できます。
Cookieをインポート¶
まず、Cookieをインポートします:
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と同じ構造を使ってクッキーのパラメータを宣言します。
最初の値がデフォルト値で、追加の検証パラメータや注釈パラメータをすべて渡すことができます:
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などをインポートする場合、それらは実際には特殊なクラスを返す関数であることを覚えておいてください。
情報
クッキーを宣言するには、Cookieを使う必要があります。なぜなら、そうしないとパラメータがクエリのパラメータとして解釈されてしまうからです。
まとめ¶
クッキーはCookieを使って宣言し、QueryやPathと同じパターンを使用する。