Ana içeriğe geç

Çerez (Cookie) Parametreleri

Query (Sorgu) ve Path (Yol) parametrelerini tanımladığınız şekilde çerez parametreleri tanımlayabilirsiniz.

Öncelikle, Cookie'yi projenize dahil edin:

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}

İpucu

Mümkün mertebe 'Annotated' sınıfını kullanmaya çalışın.

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}

İpucu

Mümkün mertebe 'Annotated' sınıfını kullanmaya çalışın.

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}

Çerez parametrelerini Path veya Query tanımlaması yapar gibi tanımlayın.

İlk değer varsayılan değerdir; tüm ekstra doğrulama veya belirteç parametrelerini kullanabilirsiniz:

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}

İpucu

Mümkün mertebe 'Annotated' sınıfını kullanmaya çalışın.

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}

İpucu

Mümkün mertebe 'Annotated' sınıfını kullanmaya çalışın.

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}

Teknik Detaylar

Cookie sınıfı Path ve Query sınıflarının kardeşidir. Diğerleri gibi Param sınıfını miras alan bir sınıftır.

Ancak fastapi'dan projenize dahil ettiğiniz Query, Path, Cookie ve diğerleri aslında özel sınıflar döndüren birer fonksiyondur.

Bilgi

Çerez tanımlamak için Cookie sınıfını kullanmanız gerekmektedir, aksi taktirde parametreler sorgu parametreleri olarak yorumlanır.

Özet

Çerez tanımlamalarını Cookie sınıfını kullanarak Query ve Path tanımlar gibi tanımlayın.