Files
fastapi/docs/uk/docs/tutorial/header-param-models.md
Motov Yurii 685cc0de17 🌐 Update translations for uk (update-all) (#14914)
* Update all

* 🎨 Auto format

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-13 13:42:01 +01:00

4.3 KiB
Raw Blame History

Моделі параметрів заголовків

Якщо у вас є група пов’язаних параметрів заголовків, ви можете створити Pydantic модель для їх оголошення.

Це дозволить вам повторно використовувати модель в різних місцях, а також оголосити валідації та метадані для всіх параметрів одночасно. 😎

/// note | Примітка

Ця можливість підтримується починаючи з версії FastAPI 0.115.0. 🤓

///

Параметри заголовків з використанням Pydantic моделі

Оголосіть потрібні параметри заголовків у Pydantic моделі, а потім оголосіть параметр як Header:

{* ../../docs_src/header_param_models/tutorial001_an_py310.py hl[9:14,18] *}

FastAPI буде витягувати дані для кожного поля з заголовків у запиті та передавати їх у створену вами Pydantic модель.

Перевірка в документації

Ви можете побачити необхідні заголовки в інтерфейсі документації за адресою /docs:

Заборонити додаткові заголовки

У деяких особливих випадках (ймовірно, не дуже поширених) ви можете захотіти обмежити заголовки, які хочете отримати.

Ви можете використати конфігурацію моделі Pydantic, щоб заборонити будь-які додаткові поля:

{* ../../docs_src/header_param_models/tutorial002_an_py310.py hl[10] *}

Якщо клієнт спробує надіслати додаткові заголовки, він отримає помилку у відповіді.

Наприклад, якщо клієнт спробує надіслати заголовок tool зі значенням plumbus, він отримає помилку у відповіді з повідомленням про те, що параметр заголовка tool не дозволений:

{
    "detail": [
        {
            "type": "extra_forbidden",
            "loc": ["header", "tool"],
            "msg": "Extra inputs are not permitted",
            "input": "plumbus",
        }
    ]
}

Вимкнути перетворення підкреслень

Так само, як і зі звичайними параметрами заголовків, коли у назвах параметрів є символи підкреслення, вони автоматично перетворюються на дефіси.

Наприклад, якщо у коді у вас є параметр заголовка save_data, очікуваний HTTP-заголовок буде save-data, і він так само відображатиметься в документації.

Якщо з якоїсь причини вам потрібно вимкнути це автоматичне перетворення, ви також можете зробити це для Pydantic моделей для параметрів заголовків.

{* ../../docs_src/header_param_models/tutorial003_an_py310.py hl[19] *}

/// warning | Попередження

Перш ніж встановлювати convert_underscores у значення False, пам’ятайте, що деякі HTTP проксі та сервери забороняють використання заголовків із підкресленнями.

///

Підсумок

Ви можете використовувати Pydantic моделі для оголошення заголовків у FastAPI. 😎