Aller au contenu

Paramètres de cookie

🌐 Traduction par IA et humains

Cette traduction a été réalisée par une IA guidée par des humains. 🤝

Elle peut contenir des erreurs d'interprétation du sens original, ou paraître peu naturelle, etc. 🤖

Vous pouvez améliorer cette traduction en nous aidant à mieux guider le LLM d'IA.

Version anglaise

Vous pouvez définir des paramètres de cookie de la même manière que vous définissez les paramètres Query et Path.

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

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}

Déclarez ensuite les paramètres de cookie en utilisant la même structure qu'avec Path et Query.

Vous pouvez définir la valeur par défaut ainsi que tous les paramètres supplémentaires de validation ou d'annotation :

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

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}

Détails techniques

Cookie est une classe « sœur » de Path et Query. Elle hérite également de la même classe commune Param.

Mais rappelez-vous que lorsque vous importez Query, Path, Cookie et d'autres depuis fastapi, il s'agit en réalité de fonctions qui renvoient des classes spéciales.

Info

Pour déclarer des cookies, vous devez utiliser Cookie, sinon les paramètres seraient interprétés comme des paramètres de requête.

Info

Gardez à l'esprit que, comme les navigateurs gèrent les cookies de manière particulière et en coulisses, ils n'autorisent pas facilement JavaScript à y accéder.

Si vous allez dans l'interface de la documentation de l'API à /docs, vous pourrez voir la documentation des cookies pour vos chemins d'accès.

Mais même si vous renseignez les données et cliquez sur « Execute », comme l'interface de documentation fonctionne avec JavaScript, les cookies ne seront pas envoyés et vous verrez un message d'erreur comme si vous n'aviez saisi aucune valeur.

Récapitulatif

Déclarez les cookies avec Cookie, en utilisant le même schéma commun que Query et Path.