--- /dev/null
+# Path-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
+
+Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ `Query` Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ query-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠ°ΠΊ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ `Path` Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ°ΠΊΡΡ ΠΆΠ΅ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ path-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
+
+## ΠΠΌΠΏΠΎΡΡ Path
+
+Π‘Π½Π°ΡΠ°Π»Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ `Path` ΠΈΠ· `fastapi`, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ `Annotated`:
+
+=== "Python 3.10+"
+
+ ```Python hl_lines="1 3"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial001_an_py310.py!}
+ ```
+
+=== "Python 3.9+"
+
+ ```Python hl_lines="1 3"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial001_an_py39.py!}
+ ```
+
+=== "Python 3.6+"
+
+ ```Python hl_lines="3-4"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial001_an.py!}
+ ```
+
+=== "Python 3.10+ Π±Π΅Π· Annotated"
+
+ !!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°"
+ Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ Ρ `Annotated` Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
+
+ ```Python hl_lines="1"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial001_py310.py!}
+ ```
+
+=== "Python 3.6+ Π±Π΅Π· Annotated"
+
+ !!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°"
+ Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ Ρ `Annotated` Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
+
+ ```Python hl_lines="3"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial001.py!}
+ ```
+
+!!! info "ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ"
+ ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° `Annotated` Π±ΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² FastAPI Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 0.95.0 (ΠΈ Ρ ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄).
+
+ ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡ, Π²Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΡΠ΅ΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `Annotated`.
+
+ Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ [ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΡ FastAPI](../deployment/versions.md#upgrading-the-fastapi-versions){.internal-link target=_blank} ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄ΠΎ 0.95.1 ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `Annotated`.
+
+## ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅
+
+ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ ΡΠ΅ ΠΆΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΡΠΎ ΠΈ Π΄Π»Ρ `Query`.
+
+ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
`title` Π΄Π»Ρ path-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° `item_id`, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ:
+
+=== "Python 3.10+"
+
+ ```Python hl_lines="10"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial001_an_py310.py!}
+ ```
+
+=== "Python 3.9+"
+
+ ```Python hl_lines="10"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial001_an_py39.py!}
+ ```
+
+=== "Python 3.6+"
+
+ ```Python hl_lines="11"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial001_an.py!}
+ ```
+
+=== "Python 3.10+ Π±Π΅Π· Annotated"
+
+ !!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°"
+ Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ Ρ `Annotated` Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
+
+ ```Python hl_lines="8"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial001_py310.py!}
+ ```
+
+=== "Python 3.6+ Π±Π΅Π· Annotated"
+
+ !!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°"
+ Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ Ρ `Annotated` Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
+
+ ```Python hl_lines="10"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial001.py!}
+ ```
+
+!!! note "ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅"
+ Path-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°ΡΡΡ ΠΏΡΡΠΈ.
+
+ ΠΠΎΡΡΠΎΠΌΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ `...`, ΡΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ.
+
+ Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΊΠ°ΠΊ `None` ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΡΠΎ Π½ΠΈ Π½Π° ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ.
+
+## ΠΠ°Π΄Π°ΠΉΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
+
+!!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°"
+ ΠΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ `Annotated`.
+
+ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΡΠ²ΠΈΡΡ query-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `q` ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° `str`.
+
+Π Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΡΠΎ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `Query`.
+
+ΠΠΎ Π²Π°ΠΌ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `Path` Π΄Π»Ρ path-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° `item_id`. Π Π΅ΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Π²Ρ Π½Π΅ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `Annotated`, ΡΠΎ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ.
+
+ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠΎ Python ΡΠΊΠ°ΠΆΠ΅Ρ Π½Π° ΠΎΡΠΈΠ±ΠΊΡ.
+
+ΠΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π±Π΅Π· Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (query-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `q`) ΡΡΠ» ΠΏΠ΅ΡΠ²ΡΠΌ.
+
+ΠΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ **FastAPI**. ΠΠ½ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎ ΠΈΡ
Π½Π°Π·Π²Π°Π½ΠΈΡΠΌ, ΡΠΈΠΏΠ°ΠΌ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (`Query`, `Path`, ΠΈ Ρ.Π΄.), Π΅ΠΌΡ Π½Π΅ Π²Π°ΠΆΠ΅Π½ ΠΈΡ
ΠΏΠΎΡΡΠ΄ΠΎΠΊ.
+
+ΠΠΎΡΡΠΎΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΊ:
+
+=== "Python 3.6 Π±Π΅Π· Annotated"
+
+ !!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°"
+ Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ Ρ `Annotated` Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial002.py!}
+ ```
+
+ΠΠΎ ΠΈΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ `Annotated`, Π²Ρ Π½Π΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΠ΅ΡΡ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ `Query()` ΠΈΠ»ΠΈ `Path()` Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ.
+
+=== "Python 3.9+"
+
+ ```Python hl_lines="10"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial002_an_py39.py!}
+ ```
+
+=== "Python 3.6+"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial002_an.py!}
+ ```
+
+## ΠΠ°Π΄Π°ΠΉΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΏΡΠΈΡΠΌΡ
+
+!!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°"
+ ΠΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ `Annotated`.
+
+ΠΠ΄Π΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½ **Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΌ**, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΌ, Ρ
ΠΎΡΡ ΡΠ°ΡΡΠΎ ΠΎΠ½ Π²Π°ΠΌ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ.
+
+ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅:
+
+* ΠΎΠ±ΡΡΠ²ΠΈΡΡ query-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `q` Π±Π΅Π· `Query` ΠΈ Π±Π΅Π· Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
+* ΠΎΠ±ΡΡΠ²ΠΈΡΡ path-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `item_id` Ρ ΠΏΠΎΠΌΠΎΡΡΡ `Path`
+* ΡΠΊΠ°Π·Π°ΡΡ ΠΈΡ
Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅
+* Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `Annotated`
+
+...ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Python.
+
+ΠΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ `*` Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ.
+
+Python Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π΄Π΅Π»Π°ΡΡ Ρ `*`, Π½ΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ (ΠΏΠ°ΡΠ°ΠΌΠΈ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅), ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ ΠΊΠ°ΠΊ <abbr title="From: K-ey W-ord Arg-uments"><code>kwargs</code></abbr>, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Ρ Π½ΠΈΡ
Π½Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
+
+```Python hl_lines="7"
+{!../../../docs_src/path_params_numeric_validations/tutorial003.py!}
+```
+
+### ΠΡΡΡΠ΅ Ρ `Annotated`
+
+ΠΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ `Annotated`, ΡΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎ Ρ Π²Π°Ρ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `*`.
+
+=== "Python 3.9+"
+
+ ```Python hl_lines="10"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial003_an_py39.py!}
+ ```
+
+=== "Python 3.6+"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial003_an.py!}
+ ```
+
+## ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
: Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ
+
+Π‘ ΠΏΠΎΠΌΠΎΡΡΡ `Query` ΠΈ `Path` (ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΠΏΠΎΠ·ΠΆΠ΅) Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
.
+
+Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ `ge=1`, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `item_id` Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π΅Π½ `1` ("`g`reater than or `e`qual").
+
+=== "Python 3.9+"
+
+ ```Python hl_lines="10"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial004_an_py39.py!}
+ ```
+
+=== "Python 3.6+"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial004_an.py!}
+ ```
+
+=== "Python 3.6+ Π±Π΅Π· Annotated"
+
+ !!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°"
+ Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ Ρ `Annotated` Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
+
+ ```Python hl_lines="8"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial004.py!}
+ ```
+
+## ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
: Π±ΠΎΠ»ΡΡΠ΅ ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ
+
+Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΊ:
+
+* `gt`: Π±ΠΎΠ»ΡΡΠ΅ (`g`reater `t`han)
+* `le`: ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ (`l`ess than or `e`qual)
+
+=== "Python 3.9+"
+
+ ```Python hl_lines="10"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial005_an_py39.py!}
+ ```
+
+=== "Python 3.6+"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial005_an.py!}
+ ```
+
+=== "Python 3.6+ Π±Π΅Π· Annotated"
+
+ !!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°"
+ Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ Ρ `Annotated` Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial005.py!}
+ ```
+
+## ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
: ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ, Π±ΠΎΠ»ΡΡΠ΅ ΠΈ ΠΌΠ΅Π½ΡΡΠ΅
+
+ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΡΠΈΠΏΠ° `float`.
+
+Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ <abbr title="greater than"><code>gt</code></abbr>, Π²ΠΌΠ΅ΡΡΠΎ <abbr title="greater than or equal"><code>ge</code></abbr>, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ Π±ΠΎΠ»ΡΡΠ΅ `0`, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ `1`.
+
+Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, `0.5` Π±ΡΠ΄Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. Π `0.0` ΠΈΠ»ΠΈ `0` β Π½Π΅Ρ.
+
+Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ ΠΈ Π΄Π»Ρ <abbr title="less than"><code>lt</code></abbr>.
+
+=== "Python 3.9+"
+
+ ```Python hl_lines="13"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial006_an_py39.py!}
+ ```
+
+=== "Python 3.6+"
+
+ ```Python hl_lines="12"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial006_an.py!}
+ ```
+
+=== "Python 3.6+ Π±Π΅Π· Annotated"
+
+ !!! tip "ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°"
+ Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ Ρ `Annotated` Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
+
+ ```Python hl_lines="11"
+ {!> ../../../docs_src/path_params_numeric_validations/tutorial006.py!}
+ ```
+
+## Π Π΅Π·ΡΠΌΠ΅
+
+Π‘ ΠΏΠΎΠΌΠΎΡΡΡ `Query`, `Path` (ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°ΡΡΠΎΠ½ΡΠ»ΠΈ) Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ Π² Π³Π»Π°Π²Π΅ [Query-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΡΡΠΎΠΊ](query-params-str-validations.md){.internal-link target=_blank}.
+
+Π ΡΠ°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
:
+
+* `gt`: Π±ΠΎΠ»ΡΡΠ΅ (`g`reater `t`han)
+* `ge`: Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ (`g`reater than or `e`qual)
+* `lt`: ΠΌΠ΅Π½ΡΡΠ΅ (`l`ess `t`han)
+* `le`: ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ (`l`ess than or `e`qual)
+
+!!! info "ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ"
+ `Query`, `Path` ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΠΏΠΎΠ·ΠΆΠ΅, ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° `Param`.
+
+ ΠΡΠ΅ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅ ΠΆΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΠ°Π½Π΅Π΅.
+
+!!! note "Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ"
+ `Query`, `Path` ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ "ΠΊΠ»Π°ΡΡΡ", ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΠ΅ ΠΈΠ· `fastapi`, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΡΠ½Π½ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ².
+
+ ΠΠ±ΡΠ΅ΠΊΡ `Query`, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΠ΅, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ. Π ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΡΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° `Query`.
+
+ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ (Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π°ΠΏΡΡΠΌΡΡ) Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²Π°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Π» ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΈΡ
ΡΠΈΠΏΠ°ΠΌΠΈ.
+
+ Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΉ Π²Π°ΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ Π΄Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
ΠΎΡΠΈΠ±ΠΎΠΊ.