РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
75 of 307 menu

Функция Cookie

Функция Cookie применяется внутри функции-обработчика маршрута и объявляет параметр, значение которого FastAPI берёт из cookie входящего HTTP-запроса. Первым аргументом передаётся значение по умолчанию, далее идут именованные параметры: alias, title, description и другие. Если параметр назван так же, как cookie, дополнительно указывать alias не нужно.

Имя cookie по умолчанию совпадает с именем параметра. Если имя параметра в Python не совпадает с именем cookie, используется параметр alias.

Синтаксис

Cookie(default, *, alias=None, title=None, description=None)

Пример

Давайте прочитаем cookie с именем user в обработчике:

from fastapi import FastAPI, Cookie app = FastAPI() @app.get('/') def index(user: str = Cookie(default='abcde')): return {'user': user}

Результат выполнения кода при отсутствии cookie:

{"user": "abcde"}

Пример

Давайте зададим alias для cookie, имя которого не совпадает с именем параметра:

<+python+> from fastapi import FastAPI, Cookie app = FastAPI() @app.get('/') def index(user: str = Cookie(default='abcde', alias='session_id')): return {'user': user} <-python+>

Теперь FastAPI читает cookie с именем session_id, а значение попадает в параметр user. Результат выполнения кода:

{"user": "abcde"}

Пример

Давайте объявим несколько cookie сразу:

from fastapi import FastAPI, Cookie app = FastAPI() @app.get('/') def index(user: str = Cookie(default='abcde'), token: str = Cookie(default='hello')): return {'user': user, 'token': token}

Результат выполнения кода при отсутствии cookie:

{"user": "abcde", "token": "hello"}

Смотрите также

  • функция Header,
    которая читает значение из заголовков запроса
  • функция Query,
    которая читает параметры строки запроса
  • функция Path,
    которая читает параметры пути URL
  • параметр alias,
    который задаёт альтернативное имя параметра
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить