# โก ๐ข
๐ ๐ช ๐ฃ โก "๐ข" โ๏ธ "๐ข" โฎ๏ธ ๐ โ โ๏ธ ๐ ๐ ๐ป:
{* ../../docs_src/path_params/tutorial001.py hl[6:7] *}
๐ฒ โก ๐ข `item_id` ๐ ๐ถโโ๏ธ ๐ ๐ข โ `item_id`.
, ๐ฅ ๐ ๐ ๐ ๐ผ & ๐ถ http://127.0.0.1:8000/items/foo, ๐ ๐ ๐ ๐จ:
```JSON
{"item_id":"foo"}
```
## โก ๐ข โฎ๏ธ ๐
๐ ๐ช ๐ฃ ๐ โก ๐ข ๐ข, โ๏ธ ๐ฉ ๐ ๐ โ:
{* ../../docs_src/path_params/tutorial002.py hl[7] *}
๐ ๐ผ, `item_id` ๐ฃ `int`.
/// check
๐ ๐ ๐ค ๐ ๐จโ๐จ ๐โ๐ฆบ ๐ ๐ ๐ข, โฎ๏ธ โ โ
, ๐ ๏ธ, โ๏ธ.
///
## ๐ฝ ๐ ๏ธ
๐ฅ ๐ ๐ ๐ ๐ผ & ๐ ๐ ๐ฅ http://127.0.0.1:8000/items/3, ๐ ๐ ๐ ๐จ:
```JSON
{"item_id":3}
```
/// check
๐ ๐ ๐ฒ ๐ ๐ข ๐จ (& ๐จ) `3`, ๐ `int`, ๐ซ ๐ป `"3"`.
, โฎ๏ธ ๐ ๐ ๐, **FastAPI** ๐ค ๐ ๐ง ๐จ "โ".
///
## ๐ฝ ๐ฌ
โ๏ธ ๐ฅ ๐ ๐ถ ๐ฅ http://127.0.0.1:8000/items/foo, ๐ ๐ ๐ ๐ ๐บ๐ธ๐ โ:
```JSON
{
"detail": [
{
"loc": [
"path",
"item_id"
],
"msg": "value is not a valid integer",
"type": "type_error.integer"
}
]
}
```
โฉ๏ธ โก ๐ข `item_id` โ๏ธ ๐ฒ `"foo"`, โ ๐ซ `int`.
๐ โ ๐ ๐ ๐ฅ ๐ ๐ `float` โฉ๏ธ `int`,: http://127.0.0.1:8000/items/4.2
/// check
, โฎ๏ธ ๐ ๐ ๐ ๐, **FastAPI** ๐ค ๐ ๐ฝ ๐ฌ.
๐ ๐ โ ๐ฏ ๐ต๐ธ โซ๏ธโ โ ๐โ ๐ฌ ๐ซ ๐ถโโ๏ธ.
๐ ๐ ๐ โช ๐ ๏ธ & ๐ ๏ธ ๐ ๐ ๐ โฎ๏ธ ๐ ๐ ๏ธ.
///
## ๐งพ
& ๐โ ๐ ๐ ๐ ๐ฅ http://127.0.0.1:8000/docs, ๐ ๐ ๐ ๐ง, ๐, ๐ ๏ธ ๐งพ ๐:
/// check
๐, โฎ๏ธ ๐ ๐ ๐ ๐ ๐, **FastAPI** ๐ค ๐ ๐ง, ๐ ๐งพ (๐ ๏ธ ๐ฆ ๐).
๐ ๐ โก ๐ข ๐ฃ ๐ข.
///
## ๐ฉ-โ๏ธ ๐ฐ, ๐ ๐งพ
& โฉ๏ธ ๐ ๐ โช๏ธโก๏ธ ๐ ๐ฉ, ๐ค ๐ ๐ ๐งฐ.
โฉ๏ธ ๐, **FastAPI** โซ๏ธ ๐ ๐ ๐ ๏ธ ๐งพ (โ๏ธ ๐), โ ๐ ๐ช ๐ http://127.0.0.1:8000/redoc:
๐ ๐, ๐ค ๐ ๐ ๐งฐ. โ
๐ โก ๐งฐ ๐ ๐ช๐ธ.
## Pydantic
๐ ๐ฝ ๐ฌ ๐ญ ๐ฝ ๐ Pydantic, ๐ ๐ค ๐ ๐ฐ โช๏ธโก๏ธ โซ๏ธ. & ๐ ๐ญ ๐ ๐ โ.
๐ ๐ช โ๏ธ ๐ ๐ ๐ โฎ๏ธ `str`, `float`, `bool` & ๐ ๐ ๐ ๐ ๐.
๐ ๐ซ ๐ฌ โญ ๐ ๐ฐ.
## โ ๐ค
๐โ ๐ *โก ๐ ๏ธ*, ๐ ๐ช ๐ โ ๐โ ๐ โ๏ธ ๐ง โก.
๐ `/users/me`, โก๏ธ ๐ฌ ๐ โซ๏ธ ๐ค ๐ ๐ โฎ๏ธ ๐ฉโ๐ป.
& โคด๏ธ ๐ ๐ช โ๏ธ โก `/users/{user_id}` ๐ค ๐ฝ ๐ ๐ฏ ๐ฉโ๐ป ๐ฉโ๐ป ๐.
โฉ๏ธ *โก ๐ ๏ธ* ๐ฌ โ, ๐ ๐ช โ ๐ญ ๐ โก `/users/me` ๐ฃ โญ 1๏ธโฃ `/users/{user_id}`:
{* ../../docs_src/path_params/tutorial003.py hl[6,11] *}
โช, โก `/users/{user_id}` ๐ ๐ `/users/me`, "๐ญ" ๐ โซ๏ธ ๐จ ๐ข `user_id` โฎ๏ธ ๐ฒ `"me"`.
โก, ๐ ๐ซ๐ โ โก ๐ ๏ธ:
{* ../../docs_src/path_params/tutorial003b.py hl[6,11] *}
๐ฅ ๐ ๐ ๐ง โ๏ธ โฉ๏ธ โก ๐ ๐ฅ.
## ๐ ๐ฒ
๐ฅ ๐ โ๏ธ *โก ๐ ๏ธ* ๐ ๐จ *โก ๐ข*, โ๏ธ ๐ ๐ ๐ช โ *โก ๐ข* ๐ฒ ๐, ๐ ๐ช โ๏ธ ๐ฉ ๐ `Enum`.
### โ `Enum` ๐
๐ `Enum` & โ ๐ง-๐ ๐ ๐ โช๏ธโก๏ธ `str` & โช๏ธโก๏ธ `Enum`.
๐ โช๏ธโก๏ธ `str` ๐ ๏ธ ๐ฉบ ๐ ๐ช ๐ญ ๐ ๐ฒ ๐ ๐ `string` & ๐ ๐ช โ โ.
โคด๏ธ โ ๐ ๐ข โฎ๏ธ ๐ง ๐ฒ, โ ๐ ๐ช โ ๐ฒ:
{* ../../docs_src/path_params/tutorial005.py hl[1,6:9] *}
/// info
๐ข (โ๏ธ ๐ข) ๐ช ๐ โฉ๏ธ โฌ 3๏ธโฃ.4๏ธโฃ.
///
/// tip
๐ฅ ๐ ๐ญ, "๐", "๐", & "๐" ๐ ๐ฐ ๐ซ ๐ท.
///
### ๐ฃ *โก ๐ข*
โคด๏ธ โ *โก ๐ข* โฎ๏ธ ๐ โ โ๏ธ ๐ข ๐ ๐ โ (`ModelName`):
{* ../../docs_src/path_params/tutorial005.py hl[16] *}
### โ
๐ฉบ
โฉ๏ธ ๐ช ๐ฒ *โก ๐ข* ๐ข, ๐ ๐ฉบ ๐ช ๐ฆ ๐ซ ๐:
### ๐ท โฎ๏ธ ๐ *๐ข*
๐ฒ *โก ๐ข* ๐ *๐ข ๐จโ๐*.
#### ๐ฌ *๐ข ๐จโ๐*
๐ ๐ช ๐ฌ โซ๏ธ โฎ๏ธ *๐ข ๐จโ๐* ๐ โ ๐ข `ModelName`:
{* ../../docs_src/path_params/tutorial005.py hl[17] *}
#### ๐ค *๐ข ๐ฒ*
๐ ๐ช ๐ค โ ๐ฒ ( `str` ๐ ๐ผ) โ๏ธ `model_name.value`, โ๏ธ ๐ข, `your_enum_member.value`:
{* ../../docs_src/path_params/tutorial005.py hl[20] *}
/// tip
๐ ๐ช ๐ ๐ฒ `"lenet"` โฎ๏ธ `ModelName.lenet.value`.
///
#### ๐จ *๐ข ๐จโ๐*
๐ ๐ช ๐จ *๐ข ๐จโ๐* โช๏ธโก๏ธ ๐ *โก ๐ ๏ธ*, ๐ฆ ๐ป ๐ช (โ
`dict`).
๐ซ ๐ ๐ ๐ซ ๐ ๐ฒ (๐ป ๐ ๐ผ) โญ ๐ฌ ๐ซ ๐ฉโ๐ป:
{* ../../docs_src/path_params/tutorial005.py hl[18,21,23] *}
๐ ๐ฉโ๐ป ๐ ๐ ๐ค ๐ป ๐จ ๐:
```JSON
{
"model_name": "alexnet",
"message": "Deep Learning FTW!"
}
```
## โก ๐ข โ โก
โก๏ธ ๐ฌ ๐ โ๏ธ *โก ๐ ๏ธ* โฎ๏ธ โก `/files/{file_path}`.
โ๏ธ ๐ ๐ช `file_path` โซ๏ธ ๐ *โก*, ๐ `home/johndoe/myfile.txt`.
, ๐ ๐ ๐ ๐ ๐ณ ๐: `/files/home/johndoe/myfile.txt`.
### ๐ ๐โ๐ฆบ
๐ ๐ซ ๐โ๐ฆบ ๐ ๐ฃ *โก ๐ข* ๐ *โก* ๐, ๐ ๐ช โ๏ธ ๐ ๐ โ ๐ฏ & ๐ฌ.
๐, ๐ ๐ช โซ๏ธ **FastAPI**, โ๏ธ 1๏ธโฃ ๐ ๐งฐ โช๏ธโก๏ธ ๐.
& ๐ฉบ ๐ ๐ท, ๐ ๐ซ โ ๐ ๐งพ ๐ฌ ๐ ๐ข ๐ ๐ โก.
### โก ๐
โ๏ธ ๐ ๐ โช๏ธโก๏ธ ๐ ๐ ๐ช ๐ฃ *โก ๐ข* โ *โก* โ๏ธ ๐ ๐:
```
/files/{file_path:path}
```
๐ ๐ผ, ๐ ๐ข `file_path`, & ๐ ๐, `:path`, ๐ฌ โซ๏ธ ๐ ๐ข ๐ ๐ ๐ *โก*.
, ๐ ๐ช โ๏ธ โซ๏ธ โฎ๏ธ:
{* ../../docs_src/path_params/tutorial004.py hl[6] *}
/// tip
๐ ๐ช ๐ช ๐ข ๐ `/home/johndoe/myfile.txt`, โฎ๏ธ ๐ ๐ช (`/`).
๐ ๐ผ, ๐ ๐: `/files//home/johndoe/myfile.txt`, โฎ๏ธ 2๏ธโฃโ๏ธ ๐ช (`//`) ๐ `files` & `home`.
///
## ๐
โฎ๏ธ **FastAPI**, โ๏ธ ๐, ๐๏ธ & ๐ฉ ๐ ๐ ๐, ๐ ๐ค:
* ๐จโ๐จ ๐โ๐ฆบ: โ โ
, โ, โ๏ธ.
* ๐ฝ "โ"
* ๐ฝ ๐ฌ
* ๐ ๏ธ โ & ๐ง ๐งพ
& ๐ ๐ด โ๏ธ ๐ฃ ๐ซ ๐.
๐ ๐ฒ ๐ โญ ๐ **FastAPI** ๐ฌ ๐ ๐ ๏ธ (โ๏ธ โช๏ธโก๏ธ ๐ฃ ๐ญ).