Параметри кукі¶
🌐 Переклад ШІ та людьми
Цей переклад виконано ШІ під керівництвом людей. 🤝
Можливі помилки через неправильне розуміння початкового змісту або неприродні формулювання тощо. 🤖
Ви можете покращити цей переклад, допомігши нам краще спрямовувати AI LLM.
Ви можете визначати параметри кукі таким же чином, як визначаються параметри Query і Path.
Імпорт Cookie¶
Спочатку імпортуйте 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}
Визначення параметрів Cookie¶
Потім визначте параметри кукі, використовуючи таку ж конструкцію як для Path і Query.
Ви можете визначити значення за замовчуванням, а також усі додаткові параметри валідації чи анотації:
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}
Технічні деталі
Cookie це "сестра" класів Path і Query. Вони також наслідуються від одного спільного класу Param.
Але пам'ятайте, що коли ви імпортуєте Query, Path, Cookie та інше з fastapi, це фактично функції, що повертають спеціальні класи.
Info
Для визначення кукі ви маєте використовувати Cookie, тому що в іншому випадку параметри будуть інтерпретовані як параметри запиту.
Info
Майте на увазі, що оскільки браузери обробляють кукі спеціальним чином і за лаштунками, вони не дозволяють JavaScript легко взаємодіяти з ними.
Якщо ви перейдете до інтерфейсу документації API за адресою /docs, ви зможете побачити документацію для кукі для ваших операцій шляху.
Але навіть якщо ви заповните дані і натиснете "Execute", оскільки інтерфейс документації працює з JavaScript, кукі не буде надіслано, і ви побачите повідомлення про помилку, ніби ви не ввели жодних значень.
Підсумки¶
Визначайте кукі за допомогою Cookie, використовуючи той же спільний шаблон, що і Query та Path.