]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🌐 Add Korean translation for `docs/ko/docs/tutorial/query-params-str-validations...
authorSpike Ho Yeol Lee <rurouni24@gmail.com>
Mon, 22 Jan 2024 19:37:01 +0000 (04:37 +0900)
committerGitHub <noreply@github.com>
Mon, 22 Jan 2024 19:37:01 +0000 (14:37 -0500)
docs/ko/docs/tutorial/query-params-str-validations.md [new file with mode: 0644]

diff --git a/docs/ko/docs/tutorial/query-params-str-validations.md b/docs/ko/docs/tutorial/query-params-str-validations.md
new file mode 100644 (file)
index 0000000..7ae100d
--- /dev/null
@@ -0,0 +1,303 @@
+# μΏΌλ¦¬ λ§€κ°œλ³€μˆ˜μ™€ λ¬Έμžμ—΄ κ²€μ¦
+
+**FastAPI**λ₯Ό μ‚¬μš©ν•˜λ©΄ λ§€κ°œλ³€μˆ˜μ— λŒ€ν•œ μΆ”κ°€ μ •보 λ° κ²€μ¦μ„ μ„ μ–Έν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
+
+이 μ‘μš© ν”„λ‘œκ·Έλž¨μ„ μ˜ˆλ‘œ λ“€μ–΄λ³΄κ² μŠ΅λ‹ˆλ‹€:
+
+```Python hl_lines="9"
+{!../../../docs_src/query_params_str_validations/tutorial001.py!}
+```
+
+쿼리 λ§€κ°œλ³€μˆ˜ `q`λŠ” `Optional[str]` μžλ£Œν˜•μž…λ‹ˆλ‹€. μ¦‰, `str` μžλ£Œν˜•μ΄μ§€λ§Œ `None` μ—­μ‹œ λ  μˆ˜ μžˆμŒμ„ λœ»ν•˜κ³ , μ‹€μ œλ‘œ κΈ°λ³Έκ°’은 `None`이기 λ•Œλ¬Έμ— FastAPIλŠ” μ΄ λ§€κ°œλ³€μˆ˜κ°€ ν•„μˆ˜κ°€ μ•„λ‹ˆλΌλŠ” κ²ƒμ„ μ••λ‹ˆλ‹€.
+
+!!! note "μ°Έκ³ "
+    FastAPIλŠ” `q`의 κΈ°λ³Έκ°’이 `= None`이기 λ•Œλ¬Έμ— ν•„μˆ˜κ°€ μ•„λ‹˜μ„ μ••λ‹ˆλ‹€.
+
+    `Optional[str]`에 μžˆλŠ” `Optional`은 FastAPIκ°€ μ‚¬μš©ν•˜λŠ”κ²Œ μ•„λ‹ˆμ§€λ§Œ, νŽΈμ§‘κΈ°μ—κ²Œ λ” λ‚˜μ€ μ§€μ›κ³Ό μ˜€λ₯˜ νƒμ§€λ₯Ό μ œκ³΅ν•˜κ²Œ ν•΄μ€λ‹ˆλ‹€.
+
+## μΆ”κ°€ κ²€μ¦
+
+`q`κ°€ μ„ νƒμ μ΄μ§€λ§Œ κ°’이 μ£Όμ–΄μ§ˆ λ•Œλ§ˆλ‹€ **값이 50 κΈ€μžλ₯Ό μ΄ˆκ³Όν•˜μ§€ μ•Šκ²Œ** κ°•μ œν•˜λ € ν•©λ‹ˆλ‹€.
+
+### `Query` μž„ν¬νŠΈ
+
+이λ₯Ό μœ„ν•΄ λ¨Όμ € `fastapi`μ—μ„œ `Query`λ₯Ό μž„ν¬νŠΈν•©λ‹ˆλ‹€:
+
+```Python hl_lines="3"
+{!../../../docs_src/query_params_str_validations/tutorial002.py!}
+```
+
+## κΈ°λ³Έκ°’μœΌλ‘œ `Query` μ‚¬μš©
+
+이제 `Query`λ₯Ό λ§€κ°œλ³€μˆ˜μ˜ κΈ°λ³Έκ°’μœΌλ‘œ μ‚¬μš©ν•˜μ—¬ `max_length` λ§€κ°œλ³€μˆ˜λ₯Ό 50으둜 μ„€μ •ν•©λ‹ˆλ‹€:
+
+```Python hl_lines="9"
+{!../../../docs_src/query_params_str_validations/tutorial002.py!}
+```
+
+κΈ°λ³Έκ°’ `None`을 `Query(None)`으둜 λ°”κΏ”μ•Ό ν•˜λ―€λ‘œ, `Query`의 μ²« λ²ˆμ§Έ λ§€κ°œλ³€μˆ˜λŠ” κΈ°λ³Έκ°’을 μ •μ˜ν•˜λŠ” κ²ƒκ³Ό κ°™μ€ λͺ©μ μœΌλ‘œ μ‚¬μš©λ©λ‹ˆλ‹€.
+
+κ·ΈλŸ¬λ―€λ‘œ:
+
+```Python
+q: Optional[str] = Query(None)
+```
+
+...μœ„ μ½”λ“œλŠ” μ•„λž˜μ™€ λ™μΌν•˜κ²Œ λ§€κ°œλ³€μˆ˜λ₯Ό μ„ νƒμ μœΌλ‘œ λ§Œλ“­λ‹ˆλ‹€:
+
+```Python
+q: Optional[str] = None
+```
+
+ν•˜μ§€λ§Œ λͺ…μ‹œμ μœΌλ‘œ μΏΌλ¦¬ λ§€κ°œλ³€μˆ˜λ₯Ό μ„ μ–Έν•©λ‹ˆλ‹€.
+
+!!! info "정보"
+    FastAPIλŠ” λ‹€μŒ λΆ€λΆ„에 κ΄€μ‹¬μ΄ μžˆμŠ΅λ‹ˆλ‹€:
+
+    ```Python
+    = None
+    ```
+
+    λ˜λŠ”:
+
+    ```Python
+    = Query(None)
+    ```
+
+    κ·Έλ¦¬κ³  `None`을 μ‚¬μš©ν•˜μ—¬ μΏΌλΌ λ§€κ°œλ³€μˆ˜κ°€ ν•„μˆ˜μ μ΄μ§€ μ•Šλ‹€λŠ” κ²ƒμ„ νŒŒμ•…ν•©λ‹ˆλ‹€.
+
+    `Optional` λΆ€λΆ„은 νŽΈμ§‘κΈ°μ—κ²Œ λ” λ‚˜μ€ μ§€μ›μ„ μ œκ³΅ν•˜κΈ° μœ„ν•΄μ„œλ§Œ μ‚¬μš©λ©λ‹ˆλ‹€.
+
+λ˜ν•œ `Query`둜 λ” λ§Žμ€ λ§€κ°œλ³€μˆ˜λ₯Ό μ „달할 μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. μ§€κΈˆμ˜ κ²½μš° λ¬Έμžμ—΄μ— μ μš©λ˜λŠ” `max_length` λ§€κ°œλ³€μˆ˜μž…λ‹ˆλ‹€:
+
+```Python
+q: str = Query(None, max_length=50)
+```
+
+μ΄λŠ” λ°μ΄ν„°λ₯Ό κ²€μ¦ν•  κ²ƒμ΄κ³ , λ°μ΄ν„°κ°€ μœ νš¨ν•˜μ§€ μ•Šλ‹€λ©΄ λͺ…λ°±ν•œ μ˜€λ₯˜λ₯Ό λ³΄μ—¬μ£Όλ©°, OpenAPI μŠ€ν‚€λ§ˆ *경둜 λ™μž‘*에 λ§€κ°œλ³€μˆ˜λ₯Ό λ¬Έμ„œν™” ν•©λ‹ˆλ‹€.
+
+## κ²€μ¦ μΆ”κ°€
+
+λ§€κ°œλ³€μˆ˜ `min_length` λ˜ν•œ μΆ”κ°€ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€:
+
+```Python hl_lines="9"
+{!../../../docs_src/query_params_str_validations/tutorial003.py!}
+```
+
+## μ •κ·œμ‹ μΆ”κ°€
+
+λ§€κ°œλ³€μˆ˜μ™€ μΌμΉ˜ν•΄μ•Ό ν•˜λŠ” <abbr title="μ •κ·œν‘œν˜„μ‹(regular expression), regex λ˜λŠ” regexpλŠ” λ¬Έμžμ—΄ μ‘°νšŒ νŒ¨ν„΄μ„ μ •μ˜ν•˜λŠ” λ¬Έμžλ“€μ˜ μˆœμ—΄μž…λ‹ˆλ‹€">μ •κ·œν‘œν˜„μ‹</abbr>을 μ •μ˜ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€:
+
+```Python hl_lines="10"
+{!../../../docs_src/query_params_str_validations/tutorial004.py!}
+```
+
+이 νŠΉμ • μ •κ·œν‘œν˜„μ‹μ€ μ „달 λ°›μ€ λ§€κ°œλ³€μˆ˜ κ°’을 κ²€μ‚¬ν•©λ‹ˆλ‹€:
+
+* `^`: μ΄μ „에 λ¬Έμžκ°€ μ—†κ³  λ’€λ”°λ₯΄λŠ” λ¬Έμžλ‘œ μ‹œμž‘ν•©λ‹ˆλ‹€.
+* `fixedquery`: μ •ν™•νžˆ `fixedquery` κ°’을 κ°–μŠ΅λ‹ˆλ‹€.
+* `$`: μ—¬κΈ°μ„œ λλ‚˜κ³  `fixedquery` μ΄ν›„λ‘œ μ•„무 λ¬Έμžλ„ κ°–μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
+
+**"μ •κ·œν‘œν˜„μ‹"** κ°œλ…μ— λŒ€ν•΄ μƒμ‹€κ°μ„ λŠκΌˆλ‹€λ©΄ κ±±μ •ν•˜μ§€ μ•Šμ•„도 λ©λ‹ˆλ‹€. λ§Žμ€ μ‚¬λžŒμ—κ²Œ μ–΄λ €μš΄ μ£Όμ œμž…λ‹ˆλ‹€. μ•„직은 μ •κ·œν‘œν˜„μ‹ μ—†μ΄λ„ λ§Žμ€ μž‘업듀을 ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
+
+ν•˜μ§€λ§Œ μ–Έμ œλ“ μ§€ κ°€μ„œ λ°°μšΈμˆ˜ μžˆκ³ , **FastAPI**μ—μ„œ μ§μ ‘ μ‚¬μš©ν•  μˆ˜ μžˆλ‹€λŠ” μ‚¬μ‹€μ„ μ•Œκ³  μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.
+
+## κΈ°λ³Έκ°’
+
+κΈ°λ³Έκ°’μœΌλ‘œ μ‚¬μš©ν•˜λŠ” μ²« λ²ˆμ§Έ μΈμžλ‘œ `None`을 μ „λ‹¬ν•˜λ“―이, λ‹€λ₯Έ κ°’을 μ „달할 μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
+
+`min_length`κ°€ `3`이고, κΈ°λ³Έκ°’이 `"fixedquery"`인 μΏΌλ¦¬ λ§€κ°œλ³€μˆ˜ `q`λ₯Ό μ„ μ–Έν•΄λ΄…μ‹œλ‹€:
+
+```Python hl_lines="7"
+{!../../../docs_src/query_params_str_validations/tutorial005.py!}
+```
+
+!!! note "μ°Έκ³ "
+    κΈ°λ³Έκ°’을 κ°–λŠ” κ²ƒλ§ŒμœΌλ‘œ λ§€κ°œλ³€μˆ˜λŠ” μ„ νƒμ μ΄ λ©λ‹ˆλ‹€.
+
+## ν•„μˆ˜λ‘œ λ§Œλ“€κΈ°
+
+더 λ§Žμ€ κ²€μ¦μ΄λ‚˜ λ©”타데이터λ₯Ό μ„ μ–Έν•  ν•„μš”κ°€ μ—†λŠ” κ²½μš°, λ‹€μŒκ³Ό κ°™μ΄ κΈ°λ³Έκ°’을 μ„ μ–Έν•˜μ§€ μ•Šκ³  μΏΌλ¦¬ λ§€κ°œλ³€μˆ˜ `q`λ₯Ό ν•„μˆ˜λ‘œ λ§Œλ“€ μˆ˜ μžˆμŠ΅λ‹ˆλ‹€:
+
+```Python
+q: str
+```
+
+μ•„λž˜ λŒ€μ‹ :
+
+```Python
+q: Optional[str] = None
+```
+
+κ·ΈλŸ¬λ‚˜ μ΄μ œ λ‹€μŒκ³Ό κ°™μ΄ `Query`둜 μ„ μ–Έν•©λ‹ˆλ‹€:
+
+```Python
+q: Optional[str] = Query(None, min_length=3)
+```
+
+κ·Έλž˜μ„œ `Query`λ₯Ό ν•„μˆ˜κ°’μœΌλ‘œ λ§Œλ“€μ–΄μ•Ό ν•  λ•Œλ©΄, μ²« λ²ˆμ§Έ μΈμžλ‘œ `...`λ₯Ό μ‚¬μš©ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€:
+
+```Python hl_lines="7"
+{!../../../docs_src/query_params_str_validations/tutorial006.py!}
+```
+
+!!! info "정보"
+    μ΄μ „에 `...`λ₯Ό λ³Έμ μ΄ μ—†λ‹€λ©΄: νŠΉλ³„ν•œ λ‹¨μΌκ°’μœΌλ‘œ, <a href="https://docs.python.org/3/library/constants.html#Ellipsis" class="external-link" target="_blank">파이썬의 μΌλΆ€μ΄λ©° "Ellipsis"라 λΆ€λ¦…λ‹ˆλ‹€</a>.
+
+μ΄λ ‡κ²Œ ν•˜λ©΄ **FastAPI**κ°€ μ΄ λ§€κ°œλ³€μˆ˜λŠ” ν•„μˆ˜μž„μ„ μ•Œ μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
+
+## μΏΌλ¦¬ λ§€κ°œλ³€μˆ˜ λ¦¬μŠ€νŠΈ / λ‹€μ€‘κ°’
+
+쿼리 λ§€κ°œλ³€μˆ˜λ₯Ό `Query`와 ν•¨κ»˜ λͺ…μ‹œμ μœΌλ‘œ μ„ μ–Έν•  λ•Œ, κ°’λ“€μ˜ λ¦¬μŠ€νŠΈλ‚˜ λ‹€λ₯Έ λ°©λ²•μœΌλ‘œ μ—¬λŸ¬ κ°’을 λ°›λ„둝 μ„ μ–Έ ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
+
+예λ₯Ό λ“€μ–΄, URLμ—μ„œ μ—¬λŸ¬λ²ˆ λ‚˜μ˜€λŠ”  `q` μΏΌλ¦¬ λ§€κ°œλ³€μˆ˜λ₯Ό μ„ μ–Έν•˜λ €λ©΄ λ‹€μŒκ³Ό κ°™μ΄ μž‘μ„±ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€:
+
+```Python hl_lines="9"
+{!../../../docs_src/query_params_str_validations/tutorial011.py!}
+```
+
+μ•„λž˜μ™€ κ°™μ€ URL을 μ‚¬μš©ν•©λ‹ˆλ‹€:
+
+```
+http://localhost:8000/items/?q=foo&q=bar
+```
+
+μ—¬λŸ¬ `q` *쿼리 λ§€κ°œλ³€μˆ˜* κ°’듀을 (`foo` λ° `bar`) νŒŒμ΄μ¬ `list`둜 *경둜 μž‘동 ν•¨μˆ˜* λ‚΄ *ν•¨μˆ˜ λ§€κ°œλ³€μˆ˜* `q`둜 μ „달 λ°›μŠ΅λ‹ˆλ‹€.
+
+λ”°λΌμ„œ ν•΄λ‹Ή URL에 λŒ€ν•œ μ‘닡은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:
+
+```JSON
+{
+  "q": [
+    "foo",
+    "bar"
+  ]
+}
+```
+
+!!! tip "팁"
+    μœ„μ˜ μ˜ˆμ™€ κ°™μ΄ `list` μžλ£Œν˜•μœΌλ‘œ μΏΌλ¦¬ λ§€κ°œλ³€μˆ˜λ₯Ό μ„ μ–Έν•˜λ €λ©΄ `Query`λ₯Ό λͺ…μ‹œμ μœΌλ‘œ μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€. κ·Έλ ‡μ§€ μ•ŠμœΌλ©΄ μš”μ²­ λ³Έλ¬ΈμœΌλ‘œ ν•΄μ„λ©λ‹ˆλ‹€.
+
+λŒ€ν™”ν˜• API λ¬Έμ„œλŠ” μ—¬λŸ¬ κ°’을 ν—ˆμš©ν•˜λ„둝 μˆ˜μ • λ©λ‹ˆλ‹€:
+
+<img src="/img/tutorial/query-params-str-validations/image02.png">
+
+### μΏΌλ¦¬ λ§€κ°œλ³€μˆ˜ λ¦¬μŠ€νŠΈ / κΈ°λ³Έκ°’을 μ‚¬μš©ν•˜λŠ” λ‹€μ€‘κ°’
+
+그리고 μ œκ³΅λœ κ°’이 μ—†μœΌλ©΄ κΈ°λ³Έ `list` κ°’을 μ •μ˜ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€:
+
+```Python hl_lines="9"
+{!../../../docs_src/query_params_str_validations/tutorial012.py!}
+```
+
+μ•„λž˜λ‘œ μ΄λ™ν•œλ‹€λ©΄:
+
+```
+http://localhost:8000/items/
+```
+
+`q`의 κΈ°λ³Έκ°’은: `["foo", "bar"]`이며 μ‘닡은 λ‹€μŒμ΄ λ©λ‹ˆλ‹€:
+
+```JSON
+{
+  "q": [
+    "foo",
+    "bar"
+  ]
+}
+```
+
+#### `list` μ‚¬μš©ν•˜κΈ°
+
+`List[str]` λŒ€μ‹  `list`λ₯Ό μ§μ ‘ μ‚¬μš©ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€:
+
+```Python hl_lines="7"
+{!../../../docs_src/query_params_str_validations/tutorial013.py!}
+```
+
+!!! note "μ°Έκ³ "
+    μ΄ κ²½μš° FastAPIλŠ” λ¦¬μŠ€νŠΈμ˜ λ‚΄μš©μ„ κ²€μ‚¬ν•˜μ§€ μ•ŠμŒμ„ λͺ…μ‹¬ν•˜κΈ° λ°”λžλ‹ˆλ‹€.
+
+    μ˜ˆλ₯Ό λ“€μ–΄, `List[int]`λŠ” λ¦¬μŠ€νŠΈ λ‚΄μš©μ΄ μ •μˆ˜μΈμ§€ κ²€μ‚¬(및 λ¬Έμ„œν™”)ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ `list` λ‹¨λ…일 κ²½μš°λŠ” μ•„λ‹™λ‹ˆλ‹€.
+
+## λ” λ§Žμ€ λ©”타데이터 μ„ μ–Έ
+
+λ§€κ°œλ³€μˆ˜μ— λŒ€ν•œ μ •보λ₯Ό μΆ”κ°€ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
+
+ν•΄λ‹Ή μ •λ³΄λŠ” μƒμ„±λœ OpenAPI에 ν¬ν•¨λ˜κ³  λ¬Έμ„œ μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ λ° μ™ΈλΆ€ λ„κ΅¬μ—μ„œ μ‚¬μš©λ©λ‹ˆλ‹€.
+
+!!! note "μ°Έκ³ "
+    λ„ꡬ에 λ”°λΌ OpenAPI μ§€μ› μˆ˜μ€€μ΄ λ‹€λ₯Ό μˆ˜ μžˆμŒμ„ λͺ…μ‹¬ν•˜κΈ° λ°”λžλ‹ˆλ‹€.
+
+    μΌλΆ€λŠ” μ•„직 μ„ μ–Έλœ μΆ”κ°€ μ •보λ₯Ό λͺ¨λ‘ ν‘œμ‹œν•˜μ§€ μ•Šμ„ μˆ˜ μžˆμ§€λ§Œ, λŒ€λΆ€λΆ„μ˜ κ²½μš° λˆ„λ½λœ κΈ°λŠ₯은 μ΄λ―Έ κ°œλ°œ κ³„νšμ΄ μžˆμŠ΅λ‹ˆλ‹€.
+
+`title`을 μΆ”κ°€ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€:
+
+```Python hl_lines="10"
+{!../../../docs_src/query_params_str_validations/tutorial007.py!}
+```
+
+그리고 `description`도 μΆ”κ°€ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€:
+
+```Python hl_lines="13"
+{!../../../docs_src/query_params_str_validations/tutorial008.py!}
+```
+
+## λ³„μΉ­ λ§€κ°œλ³€μˆ˜
+
+λ§€κ°œλ³€μˆ˜κ°€ `item-query`이길 μ›ν•œλ‹€κ³  κ°€μ •ν•΄ λ΄…μ‹œλ‹€.
+
+마치 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:
+
+```
+http://127.0.0.1:8000/items/?item-query=foobaritems
+```
+
+κ·ΈλŸ¬λ‚˜ `item-query`은 μœ νš¨ν•œ νŒŒμ΄μ¬ λ³€μˆ˜ μ΄λ¦„이 μ•„λ‹™λ‹ˆλ‹€.
+
+κ°€μž₯ κ°€κΉŒμš΄ κ²ƒμ€ `item_query`일 κ²λ‹ˆλ‹€.
+
+ν•˜μ§€λ§Œ μ •ν™•νžˆ`item-query`이길 μ›ν•©λ‹ˆλ‹€...
+
+이럴 κ²½μš° `alias`λ₯Ό μ„ μ–Έν•  μˆ˜ μžˆμœΌλ©°, ν•΄λ‹Ή λ³„칭은 λ§€κ°œλ³€μˆ˜ κ°’을 μ°ΎλŠ” λ° μ‚¬μš©λ©λ‹ˆλ‹€:
+
+```Python hl_lines="9"
+{!../../../docs_src/query_params_str_validations/tutorial009.py!}
+```
+
+## λ§€κ°œλ³€μˆ˜ μ‚¬μš©ν•˜μ§€ μ•Šκ²Œ ν•˜κΈ°
+
+μ΄μ œλŠ” λ”이상 μ΄ λ§€κ°œλ³€μˆ˜λ₯Ό λ§ˆμŒμ— λ“€μ–΄ν•˜μ§€ μ•ŠλŠ”λ‹€κ³  κ°€μ •ν•΄ λ΄…μ‹œλ‹€.
+
+이 λ§€κ°œλ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” ν΄λΌμ΄μ–ΈνŠΈκ°€ μžˆκΈ° λ•Œλ¬Έμ— ν•œλ™μ•ˆμ€ λ‚¨κ²¨λ‘¬μ•Ό ν•˜μ§€λ§Œ, <abbr title="ꡬ식이며, μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” κ²ƒμ„ μΆ”μ²œ">μ‚¬μš©λ˜μ§€ μ•ŠλŠ”λ‹€(deprecated)</abbr>κ³  ν™•μ‹€ν•˜κ²Œ λ¬Έμ„œμ—μ„œ λ³΄μ—¬μ£Όκ³  μ‹ΆμŠ΅λ‹ˆλ‹€.
+
+κ·Έλ ‡λ‹€λ©΄ `deprecated=True` λ§€κ°œλ³€μˆ˜λ₯Ό `Query`둜 μ „λ‹¬ν•©λ‹ˆλ‹€:
+
+```Python hl_lines="18"
+{!../../../docs_src/query_params_str_validations/tutorial010.py!}
+```
+
+λ¬Έμ„œκ°€ μ•„λž˜μ™€ κ°™μ΄ λ³΄μΌκ²λ‹ˆλ‹€:
+
+<img src="/img/tutorial/query-params-str-validations/image01.png">
+
+## μš”μ•½
+
+λ§€κ°œλ³€μˆ˜μ— κ²€μ¦κ³Ό λ©”타데이터λ₯Ό μΆ”κ°€ μ„ μ–Έν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
+
+μ œλ„€λ¦­ κ²€μ¦κ³Ό λ©”타데이터:
+
+* `alias`
+* `title`
+* `description`
+* `deprecated`
+
+νŠΉμ • λ¬Έμžμ—΄ κ²€μ¦:
+
+* `min_length`
+* `max_length`
+* `regex`
+
+μ˜ˆμ œμ—μ„œ `str` κ°’μ˜ κ²€μ¦μ„ μ–΄λ–»κ²Œ μΆ”κ°€ν•˜λŠ”μ§€ μ‚΄νŽ΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€.
+
+μˆ«μžμ™€ κ°™μ€ λ‹€λ₯Έ μžλ£Œν˜•에 λŒ€ν•œ κ²€μ¦μ„ μ–΄λ–»κ²Œ μ„ μ–Έν•˜λŠ”μ§€ ν™•μΈν•˜λ €λ©΄ λ‹€μŒ μž₯을 ν™•μΈν•˜κΈ° λ°”λžλ‹ˆλ‹€.