diff --git a/docs/en/docs/release-notes.md b/docs/en/docs/release-notes.md
index a242407ea..bc725fafe 100644
--- a/docs/en/docs/release-notes.md
+++ b/docs/en/docs/release-notes.md
@@ -7,6 +7,18 @@ hide:
## Latest Changes
+### Translations
+
+* π Add Russian translation for `docs/ru/docs/tutorial/bigger-applications.md`. PR [#13154](https://github.com/fastapi/fastapi/pull/13154) by [@alv2017](https://github.com/alv2017).
+
+## 0.115.7
+
+### Upgrades
+
+* β¬οΈ Upgrade `python-multipart` to >=0.0.18. PR [#13219](https://github.com/fastapi/fastapi/pull/13219) by [@DanielKusyDev](https://github.com/DanielKusyDev).
+* β¬οΈ Bump Starlette to allow up to 0.45.0: `>=0.40.0,<0.46.0`. PR [#13117](https://github.com/fastapi/fastapi/pull/13117) by [@Kludex](https://github.com/Kludex).
+* β¬οΈ Upgrade `jinja2` to >=3.1.5. PR [#13194](https://github.com/fastapi/fastapi/pull/13194) by [@DanielKusyDev](https://github.com/DanielKusyDev).
+
### Refactors
* β
Simplify tests for websockets. PR [#13202](https://github.com/fastapi/fastapi/pull/13202) by [@alejsdev](https://github.com/alejsdev).
@@ -49,6 +61,7 @@ hide:
### Translations
+* π Update Portuguese Translation for `docs/pt/docs/tutorial/request-forms.md`. PR [#13216](https://github.com/fastapi/fastapi/pull/13216) by [@Joao-Pedro-P-Holanda](https://github.com/Joao-Pedro-P-Holanda).
* π Update Portuguese translation for `docs/pt/docs/advanced/settings.md`. PR [#13209](https://github.com/fastapi/fastapi/pull/13209) by [@ceb10n](https://github.com/ceb10n).
* π Add Portuguese translation for `docs/pt/docs/tutorial/security/oauth2-jwt.md`. PR [#13205](https://github.com/fastapi/fastapi/pull/13205) by [@ceb10n](https://github.com/ceb10n).
* π Add Indonesian translation for `docs/id/docs/index.md`. PR [#13191](https://github.com/fastapi/fastapi/pull/13191) by [@gerry-sabar](https://github.com/gerry-sabar).
@@ -103,6 +116,7 @@ hide:
### Internal
+* π§ Add Pydantic 2 trove classifier. PR [#13199](https://github.com/fastapi/fastapi/pull/13199) by [@johnthagen](https://github.com/johnthagen).
* π₯ Update FastAPI People - Sponsors. PR [#13231](https://github.com/fastapi/fastapi/pull/13231) by [@tiangolo](https://github.com/tiangolo).
* π· Refactor FastAPI People Sponsors to use 2 tokens. PR [#13228](https://github.com/fastapi/fastapi/pull/13228) by [@tiangolo](https://github.com/tiangolo).
* π· Update token for FastAPI People - Sponsors. PR [#13225](https://github.com/fastapi/fastapi/pull/13225) by [@tiangolo](https://github.com/tiangolo).
diff --git a/docs/pt/docs/tutorial/request-forms.md b/docs/pt/docs/tutorial/request-forms.md
index 756ceb581..572ddf003 100644
--- a/docs/pt/docs/tutorial/request-forms.md
+++ b/docs/pt/docs/tutorial/request-forms.md
@@ -6,7 +6,11 @@ Quando vocΓͺ precisar receber campos de formulΓ‘rio ao invΓ©s de JSON, vocΓͺ pod
Para usar formulΓ‘rios, primeiro instale `python-multipart`.
-Ex: `pip install python-multipart`.
+Lembre-se de criar um [ambiente virtual](../virtual-environments.md){.internal-link target=_blank}, ativΓ‘-lo e entΓ£o instalar a dependΓͺncia, por exemplo:
+
+```console
+$ pip install python-multipart
+```
///
diff --git a/docs/ru/docs/tutorial/bigger-applications.md b/docs/ru/docs/tutorial/bigger-applications.md
new file mode 100644
index 000000000..7c3dc288f
--- /dev/null
+++ b/docs/ru/docs/tutorial/bigger-applications.md
@@ -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`.
+
+
+
+Π’Π° ΠΆΠ΅ ΡΠ°ΠΌΠ°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ:
+
+```
+.
+βββ 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`.
+
+ΠΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
+
+
+
+---
+
+ΠΠ²Π΅ ΡΠΎΡΠΊΠΈ `..`, ΠΊΠ°ΠΊ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
+
+```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 Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ· ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Python ΠΎ ΠΌΠΎΠ΄ΡΠ»ΡΡ
+
+///
+
+### ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΈΠΌΠ΅Π½
+
+ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ `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
+
+Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:
+
+