Saltar a contenido

Parámetros de Cookie

🌐 Traducción por IA y humanos

Esta traducción fue hecha por IA guiada por humanos. 🤝

Podría tener errores al interpretar el significado original, o sonar poco natural, etc. 🤖

Puedes mejorar esta traducción ayudándonos a guiar mejor al LLM de IA.

Versión en inglés

Puedes definir parámetros de Cookie de la misma manera que defines los parámetros Query y Path.

Primero importa 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}

Luego declara los parámetros de cookie usando la misma estructura que con Path y Query.

Puedes definir el valor por defecto así como toda la validación extra o los parámetros de anotación:

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}

Detalles Técnicos

Cookie es una clase "hermana" de Path y Query. También hereda de la misma clase común Param.

Pero recuerda que cuando importas Query, Path, Cookie y otros desde fastapi, en realidad son funciones que devuelven clases especiales.

Información

Para declarar cookies, necesitas usar Cookie, porque de lo contrario los parámetros serían interpretados como parámetros de query.

Información

Ten en cuenta que, como los navegadores manejan las cookies de formas especiales y por detrás, no permiten fácilmente que JavaScript las toque.

Si vas a la UI de la documentación de la API en /docs podrás ver la documentación de cookies para tus path operations.

Pero incluso si rellenas los datos y haces clic en "Execute", como la UI de la documentación funciona con JavaScript, las cookies no se enviarán y verás un mensaje de error como si no hubieras escrito ningún valor.

Resumen

Declara cookies con Cookie, usando el mismo patrón común que Query y Path.