Ana içeriğe geç

Çerez (Cookie) Parametreleri

🌐 Translation by AI and humans

This translation was made by AI guided by humans. 🤝

It could have mistakes of misunderstanding the original meaning, or looking unnatural, etc. 🤖

You can improve this translation by helping us guide the AI LLM better.

English version

Query ve Path parametrelerini tanımladığınız şekilde Cookie parametreleri tanımlayabilirsiniz.

Öncelikle, Cookie'yi import 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}
🤓 Other versions and variants
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}

Tip

Prefer to use the Annotated version if possible.

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}

Tip

Prefer to use the Annotated version if possible.

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}

Ardından, Path ve Query ile aynı yapıyı kullanarak Cookie parametrelerini tanımlayın.

Varsayılan değeri ve tüm ekstra doğrulama veya annotation parametrelerini tanımlayabilirsiniz:

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}
🤓 Other versions and variants
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}

Tip

Prefer to use the Annotated version if possible.

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}

Tip

Prefer to use the Annotated version if possible.

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, Path ve Query'nin "kardeş" sınıfıdır. O da aynı ortak Param sınıfından miras alır.

Ancak fastapi'dan Query, Path, Cookie ve diğerlerini import ettiğinizde, bunlar aslında özel sınıflar döndüren fonksiyonlardır, bunu unutmayın.

Bilgi

Çerezleri tanımlamak için Cookie kullanmanız gerekir, aksi halde parametreler query parametreleri olarak yorumlanır.

Bilgi

Tarayıcılar çerezleri özel şekillerde ve arka planda işlediği için, JavaScript'in onlara dokunmasına kolayca izin vermezler.

/docs adresindeki API docs UI'a giderseniz, path operation'larınız için çerezlerin dokümantasyonunu görebilirsiniz.

Ancak veriyi doldurup "Execute" düğmesine tıklasanız bile, docs UI JavaScript ile çalıştığı için çerezler gönderilmez ve herhangi bir değer yazmamışsınız gibi bir hata mesajı görürsünüz.

Özet

Query ve Path ile aynı ortak deseni kullanarak, çerezleri Cookie ile tanımlayın.