From cfdcad1dd2ad6821129d8151b7d1171d4efa04aa Mon Sep 17 00:00:00 2001
From: =?utf8?q?=D0=9A=D0=BE=D0=BD=D1=81=D1=82=D0=B0=D0=BD=D1=82=D0=B8?=
=?utf8?q?=D0=BD=20=D0=A0=D0=BE=D1=89=D1=83=D0=BF=D0=BA=D0=B8=D0=BD?=
<53541518+minaton-ru@users.noreply.github.com>
Date: Mon, 31 Mar 2025 11:20:29 +0300
Subject: [PATCH] =?utf8?q?=F0=9F=8C=90=20Add=20Russian=20translation=20for?=
=?utf8?q?=20`docs/ru/docs/tutorial/header-param-models.md`=20(#13526)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit
---
docs/ru/docs/tutorial/header-param-models.md | 72 ++++++++++++++++++++
1 file changed, 72 insertions(+)
create mode 100644 docs/ru/docs/tutorial/header-param-models.md
diff --git a/docs/ru/docs/tutorial/header-param-models.md b/docs/ru/docs/tutorial/header-param-models.md
new file mode 100644
index 0000000000..4f54e3e15b
--- /dev/null
+++ b/docs/ru/docs/tutorial/header-param-models.md
@@ -0,0 +1,72 @@
+# Ðодели Header-паÑамеÑÑов
+
+ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ Ð³ÑÑппа ÑвÑзаннÑÑ
**header-паÑамеÑÑов**, Ñо Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе обÑединиÑÑ Ð¸Ñ
в Ð¾Ð´Ð½Ñ **Pydantic-моделÑ**.
+
+ÐÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð²Ð°Ð¼ **пеÑеиÑполÑзоваÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ** в **ÑазнÑÑ
меÑÑаÑ
**, а Ñакже задаÑÑ Ð²Ð°Ð»Ð¸Ð´Ð°ÑÐ¸Ñ Ð¸ меÑаданнÑе ÑÑÐ°Ð·Ñ Ð´Ð»Ñ Ð²ÑеÑ
паÑамеÑÑов. ð
+
+/// note | ÐамеÑка
+
+ÐÑÐ¾Ñ ÑÑнкÑионал доÑÑÑпен в FastAPI наÑÐ¸Ð½Ð°Ñ Ñ Ð²ÐµÑÑии `0.115.0`. ð¤
+
+///
+
+## Header-паÑамеÑÑÑ Ð² виде Pydantic-модели
+
+ÐбÑÑвиÑе нÑжнÑе **header-паÑамеÑÑÑ** в **Pydantic-модели** и заÑем анноÑиÑÑйÑе паÑамеÑÑ ÐºÐ°Ðº `Header`:
+
+{* ../../docs_src/header_param_models/tutorial001_an_py310.py hl[9:14,18] *}
+
+**FastAPI** **извлеÑÑÑ** даннÑе Ð´Ð»Ñ **каждого полÑ** из **заголовков** запÑоÑа и вÑдаÑÑ Ð·Ð°Ð´Ð°Ð½Ð½ÑÑ Ð²Ð°Ð¼Ð¸ Pydantic-моделÑ.
+
+## ÐÑовеÑÑÑе докÑменÑаÑиÑ
+
+ÐÑ Ð¼Ð¾Ð¶ÐµÑе поÑмоÑÑеÑÑ Ð½ÑжнÑе header-паÑамеÑÑÑ Ð² гÑаÑиÑеÑком инÑеÑÑейÑе ÑгенеÑиÑованной докÑменÑаÑии по пÑÑи `/docs`:
+
+
+

+
+
+## Ðак запÑеÑиÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе заголовки
+
+РнекоÑоÑÑÑ
ÑлÑÑаÑÑ
(не оÑобо ÑаÑÑо вÑÑÑеÑаÑÑиÑ
ÑÑ) вам Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð½Ð°Ð´Ð¾Ð±Ð¸ÑÑÑÑ **огÑаниÑиÑÑ** заголовки, коÑоÑÑе Ð²Ñ Ñ
оÑиÑе полÑÑаÑÑ.
+
+ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи конÑигÑÑаÑии Pydantic-модели Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð·Ð°Ð¿ÑеÑиÑÑ (`forbid`) лÑбÑе дополниÑелÑнÑе (`extra`) полÑ:
+
+{* ../../docs_src/header_param_models/tutorial002_an_py310.py hl[10] *}
+
+ÐÑли ÐºÐ»Ð¸ÐµÐ½Ñ Ð¿Ð¾Ð¿ÑобÑÐµÑ Ð¾ÑпÑавиÑÑ **дополниÑелÑнÑе заголовки**, Ñо в оÑÐ²ÐµÑ Ð¾Ð½ полÑÑÐ¸Ñ **оÑибкÑ**.
+
+ÐапÑимеÑ, еÑли ÐºÐ»Ð¸ÐµÐ½Ñ Ð¿Ð¾Ð¿ÑÑаеÑÑÑ Ð¾ÑпÑавиÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº `tool` Ñо знаÑением `plumbus`, Ñо в оÑÐ²ÐµÑ Ð¾Ð½ полÑÑÐ¸Ñ Ð¾ÑибкÑ, ÑообÑаÑÑÑÑ ÐµÐ¼Ñ, ÑÑо header-паÑамеÑÑ `tool` не ÑазÑеÑен:
+
+```json
+{
+ "detail": [
+ {
+ "type": "extra_forbidden",
+ "loc": ["header", "tool"],
+ "msg": "Extra inputs are not permitted",
+ "input": "plumbus",
+ }
+ ]
+}
+```
+
+## Ðак оÑклÑÑиÑÑ Ð°Ð²ÑомаÑиÑеÑкое пÑеобÑазование подÑеÑкиваний
+
+Ðак и в ÑлÑÑае Ñ Ð¾Ð±ÑÑнÑми заголовками, еÑли Ñ Ð²Ð°Ñ Ð² именаÑ
паÑамеÑÑов имеÑÑÑÑ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð¿Ð¾Ð´ÑеÑкиваниÑ, они **авÑомаÑиÑеÑки пÑеобÑазовÑваÑÑÑÑ Ð² деÑиÑ**.
+
+ÐапÑимеÑ, еÑли в коде еÑÑÑ header-паÑамеÑÑ `save_data`, Ñо ожидаемÑй HTTP-заголовок бÑÐ´ÐµÑ `save-data` и именно Ñак он бÑÐ´ÐµÑ Ð¾ÑобÑажаÑÑÑÑ Ð² докÑменÑаÑии.
+
+ÐÑли по каким-Ñо пÑиÑинам вам нÑжно оÑклÑÑиÑÑ Ð´Ð°Ð½Ð½Ð¾Ðµ авÑомаÑиÑеÑкое пÑеобÑазование, ÑÑо можно ÑделаÑÑ Ð¸ Ð´Ð»Ñ Pydantic-моделей Ð´Ð»Ñ header-паÑамеÑÑов.
+
+{* ../../docs_src/header_param_models/tutorial003_an_py310.py hl[19] *}
+
+/// warning | Ðнимание
+
+ÐеÑед Ñем как ÑÑÑанавливаÑÑ Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа `convert_underscores` знаÑение `False`, имейÑе в видÑ, ÑÑо некоÑоÑÑе HTTP-пÑокÑи и ÑеÑвеÑÑ Ð½Ðµ ÑазÑеÑаÑÑ Ð¸ÑполÑзоваÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸ Ñ Ñимволами подÑеÑкиваниÑ.
+
+///
+
+## РезÑме
+
+ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ **Pydantic-модели** Ð´Ð»Ñ Ð¾Ð±ÑÑÐ²Ð»ÐµÐ½Ð¸Ñ **header-паÑамеÑÑов** в **FastAPI**. ð
--
2.47.2