--- /dev/null
+# κ²½λ‘ λ§€κ°λ³μ
+
+νμ΄μ¬ ν¬λ§· λ¬Έμμ΄μ΄ μ¬μ©νλ λμΌν λ¬Έλ²μΌλ‘ "λ§€κ°λ³μ" λλ "λ³μ"λ₯Ό κ²½λ‘μ μ μΈν μ μμ΅λλ€:
+
+```Python hl_lines="6-7"
+{!../../../docs_src/path_params/tutorial001.py!}
+```
+
+κ²½λ‘ λ§€κ°λ³μ `item_id`μ κ°μ ν¨μμ `item_id` μΈμλ‘ μ λ¬λ©λλ€.
+
+κ·Έλμ μ΄ μμ λ₯Ό μ€ννκ³ <a href="http://127.0.0.1:8000/items/foo" class="external-link" target="_blank">http://127.0.0.1:8000/items/foo</a>λ‘ μ΄λνλ©΄, λ€μ μλ΅μ λ³Ό μ μμ΅λλ€:
+
+```JSON
+{"item_id":"foo"}
+```
+
+## νμ
μ΄ μλ λ§€κ°λ³μ
+
+νμ΄μ¬ νμ€ νμ
μ΄λ
Έν
μ΄μ
μ μ¬μ©νμ¬ ν¨μμ μλ κ²½λ‘ λ§€κ°λ³μμ νμ
μ μ μΈν μ μμ΅λλ€:
+
+```Python hl_lines="7"
+{!../../../docs_src/path_params/tutorial002.py!}
+```
+
+μ§κΈκ³Ό κ°μ κ²½μ°, `item_id`λ `int`λ‘ μ μΈ λμμ΅λλ€.
+
+!!! check "νμΈ"
+ μ΄ κΈ°λ₯μ ν¨μ λ΄μμ μ€λ₯ κ²μ¬, μλμμ± λ±μ νΈμ§κΈ°λ₯Ό μ§μν©λλ€
+
+## λ°μ΄ν° <abbr title="λ€μμΌλ‘λ μλ €μ Έ μμ΅λλ€: μ§λ ¬ν, νμ±, λ§μ¬λ§">λ³ν</abbr>
+
+μ΄ μμ λ₯Ό μ€ννκ³ <a href="http://127.0.0.1:8000/items/3" class="external-link" target="_blank">http://127.0.0.1:8000/items/3</a>μ μ΄λ©΄, λ€μ μλ΅μ λ³Ό μ μμ΅λλ€:
+
+```JSON
+{"item_id":3}
+```
+
+!!! check "νμΈ"
+ ν¨μκ° λ°μ(λ°νλ νλ) κ°μ λ¬Έμμ΄ `"3"`μ΄ μλλΌ νμ΄μ¬ `int` νμΈ `3`μ
λλ€.
+
+ μ¦, νμ
μ μΈμ νλ©΄ **FastAPI**λ μλμΌλ‘ μμ²μ <abbr title="HTTP μμ²μμ μ λ¬λλ λ¬Έμμ΄μ νμ΄μ¬ λ°μ΄ν°λ‘ λ³ν">"νμ±"</abbr>ν©λλ€.
+
+## λ°μ΄ν° κ²μ¦
+
+νμ§λ§ λΈλΌμ°μ μμ <a href="http://127.0.0.1:8000/items/foo" class="external-link" target="_blank">http://127.0.0.1:8000/items/foo</a>λ‘ μ΄λνλ©΄, λ©μ§ HTTP μ€λ₯λ₯Ό λ³Ό μ μμ΅λλ€:
+
+```JSON
+{
+ "detail": [
+ {
+ "loc": [
+ "path",
+ "item_id"
+ ],
+ "msg": "value is not a valid integer",
+ "type": "type_error.integer"
+ }
+ ]
+}
+```
+
+κ²½λ‘ λ§€κ°λ³μ `item_id`λ `int`κ° μλ `"foo"` κ°μ΄κΈ° λλ¬Έμ
λλ€.
+
+`int` λμ `float`μ μ λ¬νλ©΄ λμΌν μ€λ₯κ° λνλ©λλ€: <a href="http://127.0.0.1:8000/items/4.2" class="external-link" target="_blank">http://127.0.0.1:8000/items/4.2</a>
+
+!!! check "νμΈ"
+ μ¦, νμ΄μ¬ νμ
μ μΈμ νλ©΄ **FastAPI**λ λ°μ΄ν° κ²μ¦μ ν©λλ€.
+
+ μ€λ₯λ κ²μ¦μ ν΅κ³Όνμ§ λͺ»ν μ§μ λ μ ννκ² λͺ
μν©λλ€.
+
+ μ΄λ APIμ μνΈ μμ©νλ μ½λλ₯Ό κ°λ°νκ³ λλ²κΉ
νλ λ° λ§€μ° μ μ©ν©λλ€.
+
+## λ¬Έμν
+
+κ·Έλ¦¬κ³ λΈλΌμ°μ μμ <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/path-params/image01.png">
+
+!!! check "νμΈ"
+ λ€μ νλ², κ·Έμ νμ΄μ¬ νμ
μ μΈμ νκΈ°λ§ νλ©΄ **FastAPI**λ μλ λνμ API λ¬Έμ(Swagger UI ν΅ν©)λ₯Ό μ 곡ν©λλ€.
+
+ κ²½λ‘ λ§€κ°λ³μλ μ μνμΌλ‘ μ μΈλμμ μ£Όλͺ©νμΈμ.
+
+## νμ€ κΈ°λ°μ μ΄μ , λ체 λ¬Έμν
+
+κ·Έλ¦¬κ³ μμ±λ μ€ν€λ§λ <a href="https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md" class="external-link" target="_blank">OpenAPI</a> νμ€μμ λμ¨ κ²μ΄κΈ° λλ¬Έμ νΈνλλ λκ΅¬κ° λ§μ΄ μμ΅λλ€.
+
+μ΄ λλΆμ **FastAPI**λ <a href="http://127.0.0.1:8000/redoc" class="external-link" target="_blank">http://127.0.0.1:8000/redoc</a>λ‘ μ μν μ μλ (ReDocμ μ¬μ©νλ) λ체 API λ¬Έμλ₯Ό μ 곡ν©λλ€:
+
+<img src="/img/tutorial/path-params/image02.png">
+
+μ΄μ λ§μ°¬κ°μ§λ‘ νΈνλλ λκ΅¬κ° λ§μ΄ μμ΅λλ€. λ€μν μΈμ΄μ λν μ½λ μμ± λꡬλ₯Ό ν¬ν¨ν©λλ€.
+
+## Pydantic
+
+λͺ¨λ λ°μ΄ν° κ²μ¦μ <a href="https://pydantic-docs.helpmanual.io/" class="external-link" target="_blank">Pydantic</a>μ μν΄ λ΄λΆμ μΌλ‘ μνλλ―λ‘ μ΄λ‘ μΈν λͺ¨λ μ΄μ μ μ»μ μ μμ΅λλ€. μ¬λ¬λΆμ κ΄λ¦¬λ₯Ό μ λ°κ³ μμμ λλ μ μμ΅λλ€.
+
+`str`, `float`, `bool`κ³Ό λ€λ₯Έ 볡μ‘ν λ°μ΄ν° νμ
μ μΈμ ν μ μμ΅λλ€.
+
+μ΄ μ€ λͺ κ°μ§λ μμ΅μμ λ€μ μ₯μμ μ΄ν΄λ΄
λλ€.
+
+## μμ λ¬Έμ
+
+*κ²½λ‘ λμ*μ λ§λ€λ κ³ μ κ²½λ‘λ₯Ό κ°κ³ μλ μν©λ€μ λ§λ¦λ¨λ¦΄ μ μμ΅λλ€.
+
+`/users/me`μ²λΌ, νμ¬ μ¬μ©μμ λ°μ΄ν°λ₯Ό κ°μ Έμ¨λ€κ³ ν©μλ€.
+
+μ¬μ©μ IDλ₯Ό μ΄μ©ν΄ νΉμ μ¬μ©μμ μ 보λ₯Ό κ°μ Έμ€λ κ²½λ‘ `/users/{user_id}`λ μμ΅λλ€.
+
+*κ²½λ‘ λμ*μ μμ°¨μ μΌλ‘ νκ°λκΈ° λλ¬Έμ `/users/{user_id}` μ΄μ μ `/users/me`λ₯Ό λ¨Όμ μ μΈν΄μΌ ν©λλ€:
+
+```Python hl_lines="6 11"
+{!../../../docs_src/path_params/tutorial003.py!}
+```
+
+κ·Έλ μ§ μμΌλ©΄ `/users/{user_id}`λ λ§€κ°λ³μ `user_id`μ κ°μ `"me"`λΌκ³ "μκ°νμ¬" `/users/me`λ μ°κ²°ν©λλ€.
+
+## μ¬μ μ μ κ°
+
+λ§μ½ *κ²½λ‘ λ§€κ°λ³μ*λ₯Ό λ°λ *κ²½λ‘ λμ*μ΄ μμ§λ§, μ ν¨νκ³ λ―Έλ¦¬ μ μν μ μλ *κ²½λ‘ λ§€κ°λ³μ* κ°μ μνλ€λ©΄ νμ΄μ¬ νμ€ <abbr title="μ΄κ±°ν(Enumeration)">`Enum`</abbr>μ μ¬μ©ν μ μμ΅λλ€.
+
+### `Enum` ν΄λμ€ μμ±
+
+`Enum`μ μν¬νΈνκ³ `str`κ³Ό `Enum`μ μμνλ μλΈ ν΄λμ€λ₯Ό λ§λλλ€.
+
+`str`μ μμν¨μΌλ‘μ¨ API λ¬Έμλ κ°μ΄ `string` νμ΄μ΄μΌ νλ κ²μ μκ² λκ³ μ λλ‘ λ λλ§ ν μ μκ² λ©λλ€.
+
+κ³ μ κ°μΌλ‘ μ¬μ©ν μ μλ μ ν¨ν ν΄λμ€ μ΄νΈλ¦¬λ·°νΈλ₯Ό λ§λλλ€:
+
+```Python hl_lines="1 6-9"
+{!../../../docs_src/path_params/tutorial005.py!}
+```
+
+!!! info "μ 보"
+ <a href="https://docs.python.org/3/library/enum.html" class="external-link" target="_blank">μ΄κ±°ν(λλ enums)</a>μ νμ΄μ¬ λ²μ 3.4 μ΄νλ‘ μ¬μ©κ°λ₯ν©λλ€.
+
+!!! tip "ν"
+ νΉμ ν·κ°λ¦°λ€λ©΄, "AlexNet", "ResNet", κ·Έλ¦¬κ³ "LeNet"μ κ·Έμ κΈ°κ³ νμ΅ <abbr title="κΈ°μ μ μΌλ‘ μ ννλ λ₯ λ¬λ λͺ¨λΈ ꡬ쑰">λͺ¨λΈ</abbr>λ€μ μ΄λ¦μ
λλ€.
+
+### *κ²½λ‘ λ§€κ°λ³μ* μ μΈ
+
+μμ±ν μ΄κ±°ν ν΄λμ€(`ModelName`)λ₯Ό μ¬μ©νλ νμ
μ΄λ
Έν
μ΄μ
μΌλ‘ *κ²½λ‘ λ§€κ°λ³μ*λ₯Ό λ§λλλ€:
+
+```Python hl_lines="16"
+{!../../../docs_src/path_params/tutorial005.py!}
+```
+
+### λ¬Έμ νμΈ
+
+*κ²½λ‘ λ§€κ°λ³μ*μ μ¬μ©ν μ μλ κ°μ 미리 μ μλμ΄ μμΌλ―λ‘ λνν λ¬Έμμμ λ©μ§κ² νμλ©λλ€:
+
+<img src="/img/tutorial/path-params/image03.png">
+
+### νμ΄μ¬ *μ΄κ±°ν*μΌλ‘ μμ
νκΈ°
+
+*κ²½λ‘ λ§€κ°λ³μ*μ κ°μ *μ΄κ±°ν λ©€λ²*κ° λ©λλ€.
+
+#### *μ΄κ±°ν λ©€λ²* λΉκ΅
+
+μ΄κ±°μ²΄ `ModelName`μ *μ΄κ±°ν λ©€λ²*λ₯Ό λΉκ΅ν μ μμ΅λλ€:
+
+```Python hl_lines="17"
+{!../../../docs_src/path_params/tutorial005.py!}
+```
+
+#### *μ΄κ±°ν κ°* κ°μ Έμ€κΈ°
+
+`model_name.value` λλ μΌλ°μ μΌλ‘ `your_enum_member.value`λ₯Ό μ΄μ©νμ¬ μ€μ κ°(μ§κΈμ κ²½μ° `str`)μ κ°μ Έμ¬ μ μμ΅λλ€:
+
+```Python hl_lines="20"
+{!../../../docs_src/path_params/tutorial005.py!}
+```
+
+!!! tip "ν"
+ `ModelName.lenet.value`λ‘λ κ° `"lenet"`μ μ κ·Όν μ μμ΅λλ€.
+
+#### *μ΄κ±°ν λ©€λ²* λ°ν
+
+*κ²½λ‘ λμ*μμ μ€μ²© JSON λ³Έλ¬Έ(μ: `dict`) μμ *μ΄κ±°ν λ©€λ²*λ₯Ό λ°νν μ μμ΅λλ€.
+
+ν΄λΌμ΄μΈνΈμ λ°ννκΈ° μ μ ν΄λΉ κ°(μ΄ κ²½μ° λ¬Έμμ΄)μΌλ‘ λ³νλ©λλ€:
+
+```Python hl_lines="18 21 23"
+{!../../../docs_src/path_params/tutorial005.py!}
+```
+
+ν΄λΌμ΄μΈνΈλ μλμ JSON μλ΅μ μ»μ΅λλ€:
+
+```JSON
+{
+ "model_name": "alexnet",
+ "message": "Deep Learning FTW!"
+}
+```
+
+## κ²½λ‘λ₯Ό ν¬ν¨νλ κ²½λ‘ λ§€κ°λ³μ
+
+`/files/{file_path}`κ° μλ *κ²½λ‘ λμ*μ΄ μλ€κ³ ν΄λ΄
μλ€.
+
+κ·Έλ°λ° μ¬λ¬λΆμ `home/johndoe/myfile.txt`μ²λΌ *path*μ λ€μ΄μλ `file_path` μμ²΄κ° νμν©λλ€.
+
+λ°λΌμ ν΄λΉ νμΌμ URLμ λ€μμ²λΌ λ©λλ€: `/files/home/johndoe/myfile.txt`.
+
+### OpenAPI μ§μ
+
+ν
μ€νΈμ μ μκ° μ΄λ €μ΄ μλ리μ€λ‘ μ΄μ΄μ§ μ μμΌλ―λ‘ OpenAPIλ *κ²½λ‘*λ₯Ό ν¬ν¨νλ *κ²½λ‘ λ§€κ°λ³μ*λ₯Ό λ΄λΆμ μ μΈνλ λ°©λ²μ μ§μνμ§ μμ΅λλ€.
+
+κ·ΈλΌμλ Starletteμ λ΄λΆ λκ΅¬μ€ νλλ₯Ό μ¬μ©νμ¬ **FastAPI**μμλ ν μ μμ΅λλ€.
+
+λ§€κ°λ³μμ κ²½λ‘κ° ν¬ν¨λμ΄μΌ νλ€λ λ¬Έμλ₯Ό μΆκ°νμ§ μμλ λ¬Έμλ κ³μ μλν©λλ€.
+
+### κ²½λ‘ λ³νκΈ°
+
+Starletteμμ μ§μ μ΅μ
μ μ¬μ©νλ©΄ λ€μκ³Ό κ°μ URLμ μ¬μ©νμ¬ *path*λ₯Ό ν¬ν¨νλ *κ²½λ‘ λ§€κ°λ³μ*λ₯Ό μ μΈ ν μ μμ΅λλ€:
+
+```
+/files/{file_path:path}
+```
+
+μ΄λ¬ν κ²½μ° λ§€κ°λ³μμ μ΄λ¦μ `file_path`μ΄κ³ λ§μ§λ§ λΆλΆ `:path`λ λ§€κ°λ³μκ° *κ²½λ‘*μ μΌμΉν΄μΌν¨μ μλ €μ€λλ€.
+
+κ·Έλ¬λ―λ‘ λ€μκ³Ό κ°μ΄ μ¬μ©ν μ μμ΅λλ€:
+
+```Python hl_lines="6"
+{!../../../docs_src/path_params/tutorial004.py!}
+```
+
+!!! tip "ν"
+ λ§€κ°λ³μκ° `/home/johndoe/myfile.txt`λ₯Ό κ°κ³ μμ΄ μ¬λμλ‘ μμ(`/`)ν΄μΌ ν μ μμ΅λλ€.
+
+ μ΄ κ²½μ° URLμ: `/files//home/johndoe/myfile.txt`μ΄λ©° `files`κ³Ό `home` μ¬μ΄μ μ΄μ€ μ¬λμ(`//`)κ° μκΉλλ€.
+
+## μμ½
+
+**FastAPI**κ³Ό ν¨κ»λΌλ©΄ μ§§κ³ μ§κ΄μ μΈ νμ€ νμ΄μ¬ νμ
μ μΈμ μ¬μ©νμ¬ λ€μμ μ»μ μ μμ΅λλ€:
+
+* νΈμ§κΈ° μ§μ: μ€λ₯ κ²μ¬, μλμμ± λ±
+* λ°μ΄ν° "<abbr title="HTTP μμ²μμ μ λ¬λλ λ¬Έμμ΄μ νμ΄μ¬ λ°μ΄ν°λ‘ λ³ν">νμ±</abbr>"
+* λ°μ΄ν° κ²μ¦
+* API μ£Όμ(Annotation)κ³Ό μλ λ¬Έμ
+
+μ μ¬νλ€μ κ·Έμ νλ²μ μ μΈνλ©΄ λ©λλ€.
+
+μ΄λ (μλ μ±λ₯κ³Όλ λ³κ°λ‘) λ체 νλ μμν¬μ λΉκ΅νμ λ **FastAPI**μ μ£Όμ κ°μμ μ₯μ μΌ κ²μ
λλ€.
\ No newline at end of file