]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🌐 Add Russian translation for `docs/ru/docs/tutorial/bigger-applications.md` (#13154)
authoralv2017 <v.alishauskaite@gmail.com>
Thu, 23 Jan 2025 09:46:41 +0000 (11:46 +0200)
committerGitHub <noreply@github.com>
Thu, 23 Jan 2025 09:46:41 +0000 (09:46 +0000)
docs/ru/docs/tutorial/bigger-applications.md [new file with mode: 0644]

diff --git a/docs/ru/docs/tutorial/bigger-applications.md b/docs/ru/docs/tutorial/bigger-applications.md
new file mode 100644 (file)
index 0000000..7c3dc28
--- /dev/null
@@ -0,0 +1,556 @@
+# Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²
+
+ΠŸΡ€ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π²Π΅Π±-API Π½Π°ΠΌ Ρ€Π΅Π΄ΠΊΠΎ ΡƒΠ΄Π°Π΅Ρ‚ся ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π²ΡΡ‘ Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ».
+
+**FastAPI** ΠΏΡ€Π΅Π΄ΠΎΡΡ‚авляСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π½Π°ΠΌ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΡ…раняя ΠΏΡ€ΠΈ ΡΡ‚ΠΎΠΌ Π²ΡΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ.
+
+/// info | ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
+
+Если Π²Ρ‹ Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π»ΠΈ Flask, Ρ‚ΠΎ ΡΡ‚ΠΎ Π°Π½Π°Π»ΠΎΠ³ ΡˆΠ°Π±Π»ΠΎΠ½ΠΎΠ² Flask (Flask's Blueprints).
+
+///
+
+## ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
+
+Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΡˆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ:
+
+```
+.
+β”œβ”€β”€ app
+β”‚Β Β  β”œβ”€β”€ __init__.py
+β”‚Β Β  β”œβ”€β”€ main.py
+β”‚Β Β  β”œβ”€β”€ dependencies.py
+β”‚Β Β  β””── routers
+β”‚Β Β  β”‚   β”œβ”€β”€ __init__.py
+β”‚Β Β  β”‚   β”œβ”€β”€ items.py
+β”‚Β Β  β”‚   β””── users.py
+β”‚Β Β  β””── internal
+β”‚Β Β      β”œβ”€β”€ __init__.py
+β”‚Β Β      β””── admin.py
+```
+
+/// tip | ΠŸΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°
+
+ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ся Ρ„Π°ΠΉΠ» `__init__.py`
+
+Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ.
+
+НапримСр, Π² Ρ„Π°ΠΉΠ»Π΅ `app/main.py` ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΡΡ‚Ρ€ΠΎΠΊΠ°:
+
+```
+from app.routers import items
+```
+
+///
+
+* Π’сё ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ `app`. Π’ Π½Ρ‘ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Ρ…одится ΠΏΡƒΡΡ‚ΠΎΠΉ Ρ„Π°ΠΉΠ» `app/__init__.py`. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, `app` ΡΠ²Π»ΡΠ΅Ρ‚ся "Python-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ" (ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Python).
+* ΠžΠ½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Ρ„Π°ΠΉΠ» `app/main.py`. Π”Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΡΠ²Π»ΡΠ΅Ρ‚ся Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚Π° (Ρ‚.Π΅. Π½Π°Ρ…одится Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ» `__init__.py`), ΠΈ, ΡΠΎΠΎΡ‚вСтствСнно, ΠΎΠ½ ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π°: `app.main`.
+* ΠžΠ½ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Ρ„Π°ΠΉΠ» `app/dependencies.py`, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ `app/main.py`, ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ: `app.dependencies`.
+* Π—Π΄Π΅ΡΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Ρ…одится ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ `app/routers/`, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΠΈΠΉ `__init__.py`.  ΠžΠ½ ΡΠ²Π»ΡΠ΅Ρ‚ся ΡΡƒΠ±-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ: `app.routers`.
+* Π€Π°ΠΉΠ» `app/routers/items.py` Π½Π°Ρ…одится Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° `app/routers/`. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ½ ΡΠ²Π»ΡΠ΅Ρ‚ся ΡΡƒΠ±-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ: `app.routers.items`.
+* Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ `app/routers/users.py` ΡΠ²Π»ΡΠ΅Ρ‚ся Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΈΠΌ ΡΡƒΠ±-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ: `app.routers.users`.
+* ΠŸΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ `app/internal/`, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» `__init__.py`, ΡΠ²Π»ΡΠ΅Ρ‚ся Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΈΠΌ ΡΡƒΠ±-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ: `app.internal`.
+* Π Ρ„Π°ΠΉΠ» `app/internal/admin.py` ΡΠ²Π»ΡΠ΅Ρ‚ся Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΈΠΌ ΡΡƒΠ±-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ: `app.internal.admin`.
+
+<img src="/img/tutorial/bigger-applications/package.svg">
+
+Π’Π° ΠΆΠ΅ ΡΠ°ΠΌΠ°Ρ Ρ„айловая ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ Ρ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ариями:
+
+```
+.
+β”œβ”€β”€ app                  # "app" ΠΏΠ°ΠΊΠ΅Ρ‚
+β”‚Β Β  β”œβ”€β”€ __init__.py      # ΡΡ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ "app" Π² "Python-ΠΏΠ°ΠΊΠ΅Ρ‚"
+β”‚Β Β  β”œβ”€β”€ main.py          # ΠΌΠΎΠ΄ΡƒΠ»ΡŒ "main", Π½Π°ΠΏΡ€.: import app.main
+β”‚Β Β  β”œβ”€β”€ dependencies.py  # ΠΌΠΎΠ΄ΡƒΠ»ΡŒ "dependencies", Π½Π°ΠΏΡ€.: import app.dependencies
+β”‚Β Β  β””── routers          # ΡΡƒΠ±-ΠΏΠ°ΠΊΠ΅Ρ‚ "routers"
+β”‚Β Β  β”‚   β”œβ”€β”€ __init__.py  # ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ "routers" Π² ΡΡƒΠ±-ΠΏΠ°ΠΊΠ΅Ρ‚
+β”‚Β Β  β”‚   β”œβ”€β”€ items.py     # ΡΡƒΠ±-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ "items", Π½Π°ΠΏΡ€.: import app.routers.items
+β”‚Β Β  β”‚   β””── users.py     # ΡΡƒΠ±-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ "users", Π½Π°ΠΏΡ€.: import app.routers.users
+β”‚Β Β  β””── internal         # ΡΡƒΠ±-ΠΏΠ°ΠΊΠ΅Ρ‚ "internal"
+β”‚Β Β      β”œβ”€β”€ __init__.py  # ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ "internal" Π² ΡΡƒΠ±-ΠΏΠ°ΠΊΠ΅Ρ‚
+β”‚Β Β      β””── admin.py     # ΡΡƒΠ±-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ "admin", Π½Π°ΠΏΡ€.: import app.internal.admin
+```
+
+## `APIRouter`
+
+Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π»Ρ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Слями ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» (суб-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ) `/app/routers/users.py`.
+
+Для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡƒΡ‚ΠΈ, ΡΠ²ΡΠ·Π°Π½Π½Ρ‹Π΅ Ρ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Слями, ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
+
+Но Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΎΡΡ‚Π°Π²Π°Π»ΠΈΡΡŒ Ρ‡Π°ΡΡ‚ΡŒΡŽ **FastAPI** ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ/Π²Π΅Π±-API (Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°)
+
+Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ  `APIRouter` Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ *ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡƒΡ‚ΠΈ* (*эндпоинты*) Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Ρ.
+
+
+### Π˜ΠΌΠΏΠΎΡ€Ρ‚ `APIRouter`
+
+Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡƒΡ‡Π°Π΅ Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ `FastAPI`, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ»Π°ΡΡΠ° `APIRouter`.
+
+```Python hl_lines="1  3" title="app/routers/users.py"
+{!../../docs_src/bigger_applications/app/routers/users.py!}
+```
+
+### Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ *эндпоинтов* Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ `APIRouter`
+
+Π’ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ `APIRouter` Π΄Π»Ρ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΡ *эндпоинтов*, Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠ»Π°ΡΡ `FastAPI`:
+
+```Python hl_lines="6  11  16" title="app/routers/users.py"
+{!../../docs_src/bigger_applications/app/routers/users.py!}
+```
+
+Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠ± `APIRouter` ΠΊΠ°ΠΊ ΠΎΠ± "ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π½ΠΎΠΉ Π²Π΅Ρ€ΡΠΈΠΈ" ΠΊΠ»Π°ΡΡΠ° FastAPI`.
+
+`APIRouter` ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²ΡΠ΅ Ρ‚Π΅ ΠΆΠ΅ ΡΠ°ΠΌΡ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ.
+
+`APIRouter` ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²ΡΠ΅ Ρ‚Π΅ ΠΆΠ΅ ΡΠ°ΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ `parameters`, `responses`, `dependencies`, `tags`, ΠΈ Ρ‚. Π΄.
+
+/// tip | ΠŸΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°
+
+Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся `router`, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΈΠΌΡ.
+
+///
+
+ΠœΡ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅ΠΌΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ `APIRouter` ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π½Π° `FastAPI`, Π½ΠΎ ΡΠ½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ `APIRouter`.
+
+## Π—ависимости
+
+Нам ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡ‚ся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ΅ΡΡ‚Π°Ρ… Π½Π°ΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
+
+ΠœΡ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΠΌ ΠΈΡ… Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ `dependencies` (`app/dependencies.py`).
+
+Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΏΡ€ΠΎΡΡ‚ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΡΡ‚ΠΎΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ `X-Token` ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°:
+
+//// tab | Python 3.9+
+
+```Python hl_lines="3  6-8" title="app/dependencies.py"
+{!> ../../docs_src/bigger_applications/app_an_py39/dependencies.py!}
+```
+
+////
+
+//// tab | Python 3.8+
+
+```Python hl_lines="1  5-7" title="app/dependencies.py"
+{!> ../../docs_src/bigger_applications/app_an/dependencies.py!}
+```
+
+////
+
+//// tab | Python 3.8+ non-Annotated
+
+/// tip | ΠŸΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°
+
+ΠœΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ `Annotated`, ΠΊΠΎΠ³Π΄Π° ΡΡ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
+
+///
+
+```Python hl_lines="1  4-6" title="app/dependencies.py"
+{!> ../../docs_src/bigger_applications/app/dependencies.py!}
+```
+
+////
+
+/// tip | ΠŸΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°
+
+Для ΠΏΡ€ΠΎΡΡ‚ΠΎΡ‚Ρ‹ ΠΌΡ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π»ΠΈΡΡŒ Π½Π΅ΠΊΠΈΠΌ Π²ΠΎΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊΠΎΠΌ.
+
+Π’ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΡΠ»ΡƒΡ‡Π°ΡΡ… Π΄Π»Ρ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΠΈ [Security utilities](security/index.md){.internal-link target=_blank}.
+
+///
+
+## Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ `APIRouter`
+
+Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ Π²Π°Ρ Π΅ΡΡ‚ΡŒ *эндпоинты*, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ "items", ΠΈ ΠΎΠ½ΠΈ Π½Π°Ρ…одятся Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ `app/routers/items.py`.
+
+Π£ Π²Π°Ρ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ *ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡƒΡ‚ΠΈ* (*эндпоинты*):
+
+* `/items/`
+* `/items/{item_id}`
+
+Π’ΡƒΡ‚ Π²ΡΡ‘ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΠΈ Ρ `app/routers/users.py`.
+
+Но Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠΌΠ½Π΅Π΅ ΠΈ ΡΠ»Π΅Π³ΠΊΠ° ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄.
+
+ΠœΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²ΡΠ΅ *эндпоинты* Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Ρ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡ‚Π²Π°:
+
+* ΠŸΡ€Π΅Ρ„икс ΠΏΡƒΡ‚ΠΈ: `/items`.
+* Π’Π΅Π³ΠΈ: (ΠΎΠ΄ΠΈΠ½ Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Ρ‚Π΅Π³: `items`).
+* Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ (responses)
+* Π—ависимости: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ Π½Π°ΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ `X-token`
+
+Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²ΠΌΠ΅ΡΡ‚ΠΎ Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π²ΡΠ΅ ΡΡ‚ΠΈ ΡΠ²ΠΎΠΉΡΡ‚Π²Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ *эндпоинта*,
+ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΈΡ… Π² `APIRouter`.
+
+```Python hl_lines="5-10  16  21" title="app/routers/items.py"
+{!../../docs_src/bigger_applications/app/routers/items.py!}
+```
+
+Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ *эндпоинт* Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ся Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° `/`:
+
+```Python hl_lines="1"
+@router.get("/{item_id}")
+async def read_item(item_id: str):
+    ...
+```
+
+...Ρ‚ΠΎ ΠΏΡ€Π΅Ρ„икс Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ `/`.
+
+Π’ Π½Π°ΡˆΠ΅ΠΌ ΡΠ»ΡƒΡ‡Π°Π΅ ΠΏΡ€Π΅Ρ„иксом ΡΠ²Π»ΡΠ΅Ρ‚ся `/items`.
+
+ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π°Ρˆ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ (router) ΡΠΏΠΈΡΠΎΠΊ `Ρ‚Π΅Π³ΠΎΠ²` (`tags`) ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… `ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²` (`responses`), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ся ΠΎΠ±Ρ‰ΠΈΠΌΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ *эндпоинта*.
+
+И Π΅Ρ‰Ρ‘ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π°Ρˆ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ ΡΠΏΠΈΡΠΎΠΊ `зависимостСй`, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ *эндпоинтам*.
+
+/// tip | ΠŸΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°
+
+ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡƒΡ‡Π°Π΅ Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ями Π² Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Π°Ρ… *эндпоинтов* ([dependencies in *path operation decorators*](dependencies/dependencies-in-path-operation-decorators.md){.internal-link target=_blank}), Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ Π² *Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΡΠ½Π΄ΠΏΠΎΠΈΠ½Ρ‚Π°* ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.
+
+///
+
+Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡΠ½Π΄ΠΏΠΎΠΈΠ½Ρ‚Ρ‹:
+
+* `/items/`
+* `/items/{item_id}`
+
+...ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ.
+
+* ΠžΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ Ρ‚Π΅Π³Π°ΠΌΠΈ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°, Π² Π½Π°ΡˆΠ΅ΠΌ ΡΠ»ΡƒΡ‡Π°Π΅ ΡΡ‚ΠΎ `"items"`.
+    * Π­Ρ‚ΠΈ Ρ‚Π΅Π³ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π΄Π»Ρ ΡΠΈΡΡ‚Π΅ΠΌΡ‹ Π°Π²Ρ‚оматичСской ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ (с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ OpenAPI).
+* ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ `responses`.
+* ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ *эндпоинт* Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚Π΅ΠΉ (`dependencies`), ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ *эндпоинта*.
+    * Π•сли Π²Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ Π² ΡΠ°ΠΌΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡƒΡ‚ΠΈ, **Ρ‚ΠΎ ΠΎΠ½Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°**.
+    * Π‘Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ся Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ся Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Π΅ *эндпоинта* ([`dependencies` in the decorator](dependencies/dependencies-in-path-operation-decorators.md){.internal-link target=_blank}), ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ричСскиС Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ.
+    * Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΠΈ Ρ ΠΎΠ±Π»Π°ΡΡ‚ями Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΠΈ (`scopes`) [`Security` dependencies with `scopes`](../advanced/security/oauth2-scopes.md){.internal-link target=_blank}.
+
+/// tip | ΠŸΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°
+
+НапримСр, Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚Π΅ΠΉ Π² `APIRouter` ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π»Ρ Π΄ΠΎΡΡ‚ΡƒΠΏΠ° ΠΊΠΎ Π²ΡΠ΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ *эндпоинтов*, Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ *эндпоинта*.
+
+///
+
+/// check | Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°
+
+ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ `prefix`, `tags`, `responses` ΠΈ `dependencies` ΠΎΡ‚носятся ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Ρƒ **FastAPI**, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰Π΅ΠΌΡƒ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°.
+
+///
+
+### Π˜ΠΌΠΏΠΎΡ€Ρ‚ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚Π΅ΠΉ
+
+Наш ΠΊΠΎΠ΄ Π½Π°Ρ…одится Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ `app.routers.items` (Ρ„Π°ΠΉΠ» `app/routers/items.py`).
+
+И Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΈΠ· ΠΌΠΎΠ΄ΡƒΠ»Ρ `app.dependencies` (Ρ„Π°ΠΉΠ» `app/dependencies.py`).
+
+ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° `..` Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ:
+
+```Python hl_lines="3" title="app/routers/items.py"
+{!../../docs_src/bigger_applications/app/routers/items.py!}
+```
+
+#### ΠšΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚?
+
+/// tip | ΠŸΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°
+
+Если Π²Ρ‹ ΠΏΡ€Π΅ΠΊΡ€Π°ΡΠ½ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π² Python, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π°Π·Π΄Π΅Π»Ρƒ.
+
+///
+
+Одна Ρ‚ΠΎΡ‡ΠΊΠ° `.`, ΠΊΠ°ΠΊ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:
+
+```Python
+from .dependencies import get_token_header
+```
+ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚:
+
+* ΠΠ°Ρ‡Π½ΠΈΡ‚Π΅ Ρ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π°Ρ…одится Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ (Ρ„Π°ΠΉΠ» `app/routers/items.py` Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ `app/routers/`)...
+* ... Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ `dependencies` (Ρ„Π°ΠΉΠ» `app/routers/dependencies.py`)...
+* ... ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΠ· Π½Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ `get_token_header`.
+
+К ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡŽ, Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚, ΠΈ Π½Π°ΡˆΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ Π½Π°Ρ…одятся Π² Ρ„Π°ΠΉΠ»Π΅ `app/dependencies.py`.
+
+ВспомнитС, ΠΊΠ°ΠΊ Π²Ρ‹Π³Π»ΡΠ΄ΠΈΡ‚ Ρ„айловая ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π½Π°ΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
+
+<img src="/img/tutorial/bigger-applications/package.svg">
+
+---
+
+Π”Π²Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ `..`, ΠΊΠ°ΠΊ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:
+
+```Python
+from ..dependencies import get_token_header
+```
+
+ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚:
+
+* ΠΠ°Ρ‡Π½ΠΈΡ‚Π΅ Ρ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π°Ρ…одится Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ (Ρ„Π°ΠΉΠ» `app/routers/items.py` Π½Π°Ρ…одится Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ `app/routers/`)...
+* ... ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ (ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ `app/`)...
+* ... Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π½Ρ‘ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ `dependencies` (Ρ„Π°ΠΉΠ» `app/dependencies.py`)...
+* ... ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΠ· Π½Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ `get_token_header`.
+
+Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²Π΅Ρ€Π½ΠΎ! πŸŽ‰
+
+---
+
+Аналогично, Π΅ΡΠ»ΠΈ Π±Ρ‹ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π»ΠΈ Ρ‚Ρ€ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ `...`, ΠΊΠ°ΠΊ Π·Π΄Π΅ΡΡŒ:
+
+```Python
+from ...dependencies import get_token_header
+```
+
+Ρ‚ΠΎ ΡΡ‚ΠΎ Π±Ρ‹ ΠΎΠ·Π½Π°Ρ‡Π°Π»ΠΎ:
+
+* ΠΠ°Ρ‡Π½ΠΈΡ‚Π΅ Ρ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π°Ρ…одится Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ (Ρ„Π°ΠΉΠ» `app/routers/items.py` Π½Π°Ρ…одится Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ `app/routers/`)...
+* ... ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ (ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ `app/`)...
+* ... Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° (Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚, `app` Π½Π°Ρ…одится Π½Π° ΡΠ°ΠΌΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ πŸ˜±)...
+* ... Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π½Ρ‘ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ `dependencies` (Ρ„Π°ΠΉΠ» `app/dependencies.py`)...
+* ... ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΠ· Π½Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ `get_token_header`.
+
+Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ, Π½Π°Ρ…одящСмуся Π½Π° ΠΎΠ΄ΠΈΠ½ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²Ρ‹ΡˆΠ΅ Ρ‡Π΅ΠΌ `app/` ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰Π΅ΠΌΡƒ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» `__init__.py`. ΠΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρƒ Π½Π°Ρ Π½Π΅Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡΡ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΎΡˆΠΈΠ±ΠΊΠ΅ Π² Π½Π°ΡˆΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. πŸš¨
+
+Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π² Python, ΠΈ ΡΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ²ΠΎΠΈΡ… ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ… Π»ΡŽΠ±ΠΎΠ³ΠΎ ΡƒΡ€ΠΎΠ²Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ. πŸ€“
+
+### Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ‚Π΅Π³ΠΎΠ² (`tags`), ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² (`responses`) ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚Π΅ΠΉ (`dependencies`)
+
+ΠœΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€Π΅Ρ„икс `/items` ΠΈ ΡΠΏΠΈΡΠΎΠΊ Ρ‚Π΅Π³ΠΎΠ² `tags=["items"]` Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ *эндпоинта*, Ρ‚.ΠΊ. ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΈΡ… Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ `APIRouter`.
+
+Но ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΡ‚ΠΎΠ³ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚Π΅Π³ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ *эндпоинта*, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ (`responses`), Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ *эндпоинта*:
+
+```Python hl_lines="30-31" title="app/routers/items.py"
+{!../../docs_src/bigger_applications/app/routers/items.py!}
+```
+
+/// tip | ΠŸΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°
+
+ПослСдний *эндпоинт* Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Ρ‚Π΅Π³ΠΎΠ²: `["items", "custom"]`.
+
+А Ρ‚Π°ΠΊΠΆΠ΅ Π² Π΅Π³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ ΠΎΠ±Π° ΠΎΡ‚Π²Π΅Ρ‚Π°: ΠΎΠ΄ΠΈΠ½ Π΄Π»Ρ `404` ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π΄Π»Ρ `403`.
+
+///
+
+## ΠœΠΎΠ΄ΡƒΠ»ΡŒ main Π² `FastAPI`
+
+Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ `app/main.py`.
+
+ИмСнно ΡΡŽΠ΄Π° Π²Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π΄Π΅ΡΡŒ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠ»Π°ΡΡ `FastAPI`.
+
+Π­Ρ‚ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Ρ„Π°ΠΉΠ» Π²Π°ΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π²ΡΡ‘ Π² ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅.
+
+И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π±ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Ρ„Π°ΠΉΠ» `app/main.py` Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΡ€ΠΎΡΡ‚Ρ‹ΠΌ.
+
+### Π˜ΠΌΠΏΠΎΡ€Ρ‚ `FastAPI`
+
+Π’Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ‚Π΅ ΠΊΠ»Π°ΡΡ `FastAPI` ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ.
+
+ΠœΡ‹ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ [global dependencies](dependencies/global-dependencies.md){.internal-link target=_blank}, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ями Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°:
+
+```Python hl_lines="1  3  7" title="app/main.py"
+{!../../docs_src/bigger_applications/app/main.py!}
+```
+
+### Π˜ΠΌΠΏΠΎΡ€Ρ‚ `APIRouter`
+
+Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡΡƒΠ±-ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΠΈΠ΅ `APIRouter`:
+
+```Python hl_lines="4-5" title="app/main.py"
+{!../../docs_src/bigger_applications/app/main.py!}
+```
+
+Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ»Ρ‹ `app/routers/users.py` ΠΈ `app/routers/items.py` ΡΠ²Π»ΡΡŽΡ‚ся ΡΡƒΠ±-модулями ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Python-ΠΏΠ°ΠΊΠ΅Ρ‚Π° `app`, Ρ‚ΠΎ ΠΌΡ‹ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡ… ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° `.`.
+
+### ΠšΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚?
+
+Данная ΡΡ‚Ρ€ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°:
+
+```Python
+from .routers import items, users
+```
+
+ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚:
+
+* ΠΠ°Ρ‡Π½ΠΈΡ‚Π΅ Ρ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ся Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ (Ρ„Π°ΠΉΠ» `app/main.py` ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ `app/`)...
+* ... Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΡΡƒΠ±-ΠΏΠ°ΠΊΠ΅Ρ‚ `routers` (ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ `app/routers/`)...
+* ... ΠΈ ΠΈΠ· Π½Π΅Π³ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΡΡƒΠ±-ΠΌΠΎΠ΄ΡƒΠ»ΠΈ `items` (Ρ„Π°ΠΉΠ» `app/routers/items.py`) ΠΈ `users` (Ρ„Π°ΠΉΠ» `app/routers/users.py`)...
+
+Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ `items` ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ `router` (`items.router`), Ρ‚Π° ΡΠ°ΠΌΠ°Ρ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π² Ρ„Π°ΠΉΠ»Π΅ `app/routers/items.py`, ΠΎΠ½Π° ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° `APIRouter`.
+
+И Π·Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΡΠ΄Π΅Π»Π°Π΅ΠΌ Ρ‚ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π΄Π»Ρ ΠΌΠΎΠ΄ΡƒΠ»Ρ `users`.
+
+ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ:
+
+```Python
+from app.routers import items, users
+```
+
+/// info | ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
+
+ΠŸΠ΅Ρ€Π²Π°Ρ Π²Π΅Ρ€ΡΠΈΡ ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°:
+
+```Python
+from .routers import items, users
+```
+
+Вторая Π²Π΅Ρ€ΡΠΈΡ ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°:
+
+```Python
+from app.routers import items, users
+```
+
+Π£Π·Π½Π°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠ΅ ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ… ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡΡ… Π² Python Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ· <a href="https://docs.python.org/3/tutorial/modules.html" class="external-link" target="_blank">ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Python ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡΡ…</a>
+
+///
+
+### Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈΠΌΠ΅Π½
+
+ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ `router`, ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΠΎ ΡΡƒΠ±-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ `items`.
+
+ΠœΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ ΡΡ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρƒ Π½Π°Ρ Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ `router` Π² ΡΡƒΠ±-ΠΌΠΎΠ΄ΡƒΠ»Π΅ `users`.
+
+Если Π±Ρ‹ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΈΡ… ΠΎΠ΄Π½Ρƒ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:
+
+```Python
+from .routers.items import router
+from .routers.users import router
+```
+
+Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ `router` ΠΈΠ· `users` ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Π» Π±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ `router` ΠΈΠ· `items`, ΠΈ Ρƒ Π½Π°Ρ Π½Π΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.
+
+ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Π΄Π»Ρ Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π΅ ΡΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΡΡƒΠ±-ΠΌΠΎΠ΄ΡƒΠ»ΠΈ:
+
+```Python hl_lines="5" title="app/main.py"
+{!../../docs_src/bigger_applications/app/main.py!}
+```
+
+### ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² (`APIRouter`) Π΄Π»Ρ `users` ΠΈ Π΄Π»Ρ `items`
+
+Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ (`router`) ΠΈΠ· ΡΡƒΠ±-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ `users` ΠΈ `items`:
+
+```Python hl_lines="10-11" title="app/main.py"
+{!../../docs_src/bigger_applications/app/main.py!}
+```
+
+/// info | ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
+
+`users.router` ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ `APIRouter` ΠΈΠ· Ρ„Π°ΠΉΠ»Π° `app/routers/users.py`.
+
+А `items.router` ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ `APIRouter` ΠΈΠ· Ρ„Π°ΠΉΠ»Π° `app/routers/items.py`.
+
+///
+
+Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ `app.include_router()` ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² (`APIRouter`) Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ `FastAPI`.
+
+Он ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ Π²ΡΠ΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ.
+
+/// note | Π’СхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ
+
+ЀактичСски, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ½ ΡΠΎΠ·Π΄Π°ΡΡ‚ Π²ΡΠ΅ *ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡƒΡ‚ΠΈ* Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡƒΡ‚ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½ΠΎΠΉ Π² `APIRouter`.
+
+И ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ Π²ΡΡ‘ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ Π±Ρ‹ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ Ρ ΠΎΠ΄Π½ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
+
+///
+
+/// check | Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°
+
+ΠŸΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² Π½Π΅ ΡΡ‚ΠΎΠΈΡ‚ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
+
+ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π°ΠΉΠΌΡ‘Ρ‚ ΠΌΠΈΠΊΡ€ΠΎΡΠ΅ΠΊΡƒΠ½Π΄Ρ‹ ΠΈ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
+
+Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΡΡ‚ΠΎ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ‚ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. βš‘
+
+///
+
+### ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ `APIRouter` Ρ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ ΠΏΡ€Π΅Ρ„иксом (`prefix`), Ρ‚Π΅Π³Π°ΠΌΠΈ (`tags`), ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ (`responses`), ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ями (`dependencies`)
+
+Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²Π°ΡˆΠ° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»Π° Π²Π°ΠΌ Ρ„Π°ΠΉΠ» `app/internal/admin.py`.
+
+Он ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ `APIRouter` Ρ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ *эндпоитами* Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚рирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΡˆΠ° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².
+
+Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΡΡ‚ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΡΡ‚ΠΎ. ΠΠΎ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ„Π°ΠΉΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²,
+Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΠΏΡ€Π΅Ρ„иксы (`prefix`), Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ (`dependencies`), Ρ‚Π΅Π³ΠΈ (`tags`), ΠΈ Ρ‚.Π΄. Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΠΎ Π² `APIRouter`:
+
+```Python hl_lines="3" title="app/internal/admin.py"
+{!../../docs_src/bigger_applications/app/internal/admin.py!}
+```
+
+Но, Π½Π΅ΡΠΌΠΎΡ‚ря Π½Π° ΡΡ‚ΠΎ, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΡΡ‚ΠΎΠΌΠ½Ρ‹ΠΉ ΠΏΡ€Π΅Ρ„икс (`prefix`) Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° (`APIRouter`), Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ, ΠΊΠ°ΠΆΠ΄Π°Ρ *опСрация ΠΏΡƒΡ‚ΠΈ* Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ Ρ `/admin`. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ Π½Π°Ρˆ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚Π΅ΠΉ, ΡΠΎΠ·Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π»Ρ Π½Π°ΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π˜ Π΅Ρ‰Ρ‘ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅Π³ΠΈ (`tags`) ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ (`responses`).
+
+ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²ΡΠ΅ Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΠΈ, Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ `APIRouter`. ΠΠ°ΠΌ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡˆΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² `app.include_router()`.
+
+```Python hl_lines="14-17" title="app/main.py"
+{!../../docs_src/bigger_applications/app/main.py!}
+```
+
+Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ `APIRouter` Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½, ΠΈ ΠΌΡ‹ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» `app/internal/admin.py` ΡΡ€Π°Π·Ρƒ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ.
+
+Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, Π² Π½Π°ΡˆΠ΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ *эндпоинт* ΠΌΠΎΠ΄ΡƒΠ»Ρ `admin` Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ:
+
+* ΠŸΡ€Π΅Ρ„икс `/admin`.
+* Π’Π΅Π³ `admin`.
+* Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ `get_token_header`.
+* ΠžΡ‚Π²Π΅Ρ‚ `418`. πŸ΅
+
+Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΌΠ΅ΡΡ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π»Ρ `APIRouter` Π² Π½Π°ΡˆΠ΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΈ Π½Π΅ Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅Ρ‚ Π»ΡŽΠ±ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π΅Π³ΠΎ.
+
+НапримСр, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΡΠ°ΠΌΡ‹ΠΉ `APIRouter` Ρ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.
+
+### ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ *эндпоинта*
+
+ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ *эндпоинт* Π½Π΅ΠΏΠΎΡΡ€Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ `FastAPI`.
+
+Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΡΡ‚ΠΎ Π΄Π΅Π»Π°Π΅ΠΌ ... ΠΏΡ€ΠΎΡΡ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡΡ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ πŸ€·:
+
+```Python hl_lines="21-23" title="app/main.py"
+{!../../docs_src/bigger_applications/app/main.py!}
+```
+
+ΠΈ ΡΡ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π²ΠΌΠ΅ΡΡ‚Π΅ Ρ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ *эндпоинтами*, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ `app.include_router()`.
+
+/// info | Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ Ρ‚СхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ
+
+**ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅**: ΡΡ‚ΠΎ ΡΠ»ΠΎΠΆΠ½Π°Ρ Ρ‚СхничСская Π΄Π΅Ρ‚Π°Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ, ΡΠΊΠΎΡ€Π΅Π΅ Π²ΡΠ΅Π³ΠΎ, **Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ**.
+
+---
+
+ΠœΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ (`APIRouter`) Π½Π΅ "ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ" ΠΏΠΎ-ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π½Π΅ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‚ся ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
+
+Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… *эндпоинты* Π² OpenAPI ΡΡ…Π΅ΠΌΡƒ ΠΈ Π² ΠΈΠ½Ρ‚СрфСйс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля.
+
+Π’ ΡΠΈΠ»Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡ… ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ "ΠΏΡ€ΠΈΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ" Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…, *эндпоинты* ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ся (ΠΏΠ΅Ρ€Π΅ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ) ΠΈ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ся Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.
+
+///
+
+## ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π°Π²Ρ‚оматичСской Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ API
+
+Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:
+
+<div class="termy">
+
+```console
+$ fastapi dev app/main.py
+
+<span style="color: green;">INFO</span>:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
+```
+
+</div>
+
+ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ Π°Π΄Ρ€Π΅ΡΡƒ <a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a>.
+
+Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ API Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ. ΠžΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΡΠ΅Π±Ρ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ ΠΈΠ· ΡΡƒΠ±-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Π΅Ρ€Π½Ρ‹Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹, ΠΏΡ€Π΅Ρ„иксы ΠΈ Ρ‚Π΅Π³ΠΈ:
+
+<img src="/img/tutorial/bigger-applications/image01.png">
+
+## ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€Π΅Ρ„икс (`prefix`)
+
+Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ `.include_router()` Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π· Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠΌ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€Π΅Ρ„иксы.
+
+Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, Π΅ΡΠ»ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ API Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€Π΅Ρ„иксы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, `/api/v1` ΠΈ `/api/latest`.
+
+Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ ΡΠΏΠΎΡΠΎΠ±, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ся. ΠœΡ‹ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ Π½Π° ΡΠ»ΡƒΡ‡Π°ΠΉ, Π΅ΡΠ»ΠΈ Π²Π΄Ρ€ΡƒΠ³ Π²Π°ΠΌ ΡΡ‚ΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ся.
+
+## Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° (`APIRouter`) Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ
+
+Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ `APIRouter` Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ `FastAPI`, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ `APIRouter` Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ `APIRouter`:
+
+```Python
+router.include_router(other_router)
+```
+
+Π£Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΡΡ‚ΠΎ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€  (`router`) ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ `FastAPI` ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ, ΠΈ *эндпоинты* ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° `other_router` Π±Ρ‹Π»ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹.