コンテンツにスキップ

Cookie パラメータ

Query パラメータや Path パラメータを定義するのと同じ方法で、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}

次に、PathQuery と同じ構造を使用して、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 は、PathQuery の「姉妹」クラスです。また、同じ共通の Param クラスを継承します。

ただし、fastapi から QueryPathCookie などをインポートする場合、これらは実際には特殊なクラスを返す関数であることに注意してください。

情報

Cookie を宣言するには、Cookie を使用する必要があります。そうでない場合、パラメータはクエリ パラメータとして解釈されます。

まとめ

QueryPath と同じ共通パターンを使用して、Cookie で Cookie を宣言します。