Ir para o conteúdo

Parâmetros de Cookie

🌐 Tradução por IA e humanos

Esta tradução foi feita por IA orientada por humanos. 🤝

Ela pode conter erros de interpretação do significado original ou soar pouco natural, etc. 🤖

Você pode melhorar esta tradução ajudando-nos a orientar melhor o LLM de IA.

Versão em inglês

Você pode definir parâmetros de Cookie da mesma maneira que define parâmetros com Query e Path.

Primeiro importe 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}

Então declare os parâmetros de cookie usando a mesma estrutura que em Path e Query.

Você pode definir o valor padrão, assim como todas as validações extras ou parâmetros de anotação:

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}

Detalhes Técnicos

Cookie é uma classe "irmã" de Path e Query. Ela também herda da mesma classe em comum Param.

Mas lembre-se que quando você importa Query, Path, Cookie e outras de fastapi, elas são na verdade funções que retornam classes especiais.

Informação

Para declarar cookies, você precisa usar Cookie, pois caso contrário, os parâmetros seriam interpretados como parâmetros de consulta.

Informação

Tenha em mente que, como os navegadores lidam com cookies de maneiras especiais e nos bastidores, eles não permitem facilmente que o JavaScript os acesse.

Se você for à interface de documentação da API em /docs, poderá ver a documentação de cookies para suas operações de rota.

Mas mesmo que você preencha os dados e clique em "Execute", como a interface de documentação funciona com JavaScript, os cookies não serão enviados e você verá uma mensagem de erro como se você não tivesse escrito nenhum valor.

Recapitulando

Declare cookies com Cookie, usando o mesmo padrão comum que utiliza-se em Query e Path.