Skip to content

Commit

Permalink
🌐 Add Korean translation for Tutorial - Path Parameters and Numeric V…
Browse files Browse the repository at this point in the history
…alidations (#2432)
  • Loading branch information
hard-coders committed Dec 8, 2021
1 parent 8e41687 commit a5d697b
Show file tree
Hide file tree
Showing 2 changed files with 123 additions and 0 deletions.
122 changes: 122 additions & 0 deletions docs/ko/docs/tutorial/path-params-numeric-validations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
# 경둜 λ§€κ°œλ³€μˆ˜μ™€ 숫자 검증

`Query`λ₯Ό μ‚¬μš©ν•˜μ—¬ 쿼리 λ§€κ°œλ³€μˆ˜μ— 더 λ§Žμ€ 검증과 메타데이터λ₯Ό μ„ μ–Έν•˜λŠ” 방법과 λ™μΌν•˜κ²Œ `Path`λ₯Ό μ‚¬μš©ν•˜μ—¬ 경둜 λ§€κ°œλ³€μˆ˜μ— 검증과 메타데이터λ₯Ό 같은 νƒ€μž…μœΌλ‘œ μ„ μ–Έν•  수 μžˆμŠ΅λ‹ˆλ‹€.

## 경둜 μž„ν¬νŠΈ

λ¨Όμ € `fastapi`μ—μ„œ `Path`λ₯Ό μž„ν¬νŠΈν•©λ‹ˆλ‹€:

```Python hl_lines="3"
{!../../../docs_src/path_params_numeric_validations/tutorial001.py!}
```

## 메타데이터 μ„ μ–Έ

`Query`에 λ™μΌν•œ λ§€κ°œλ³€μˆ˜λ₯Ό μ„ μ–Έν•  수 μžˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, `title` 메타데이터 값을 경둜 λ§€κ°œλ³€μˆ˜ `item_id`에 μ„ μ–Έν•˜λ €λ©΄ λ‹€μŒκ³Ό 같이 μž…λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

```Python hl_lines="10"
{!../../../docs_src/path_params_numeric_validations/tutorial001.py!}
```

!!! note "μ°Έκ³ "
경둜 λ§€κ°œλ³€μˆ˜λŠ” 경둜의 일뢀여야 ν•˜λ―€λ‘œ μ–Έμ œλ‚˜ ν•„μˆ˜μ μž…λ‹ˆλ‹€.

즉, `...`둜 μ„ μ–Έν•΄μ„œ ν•„μˆ˜μž„μ„ λ‚˜νƒ€λ‚΄λŠ”κ²Œ μ’‹μŠ΅λ‹ˆλ‹€.

κ·ΈλŸΌμ—λ„ `None`으둜 μ„ μ–Έν•˜κ±°λ‚˜ 기본값을 지정할지라도 아무 영ν–₯을 λΌμΉ˜μ§€ μ•ŠμœΌλ©° μ–Έμ œλ‚˜ ν•„μˆ˜μž…λ‹ˆλ‹€.

## ν•„μš”ν•œ 경우 λ§€κ°œλ³€μˆ˜ μ •λ ¬ν•˜κΈ°

`str` ν˜•μΈ 쿼리 λ§€κ°œλ³€μˆ˜ `q`λ₯Ό ν•„μˆ˜λ‘œ μ„ μ–Έν•˜κ³  μ‹Άλ‹€κ³  ν•΄λ΄…μ‹œλ‹€.

ν•΄λ‹Ή λ§€κ°œλ³€μˆ˜μ— λŒ€ν•΄ μ•„λ¬΄λŸ° 선언을 ν•  ν•„μš”κ°€ μ—†μœΌλ―€λ‘œ `Query`λ₯Ό μ •λ§λ‘œ 써야할 ν•„μš”λŠ” μ—†μŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ `item_id` 경둜 λ§€κ°œλ³€μˆ˜λŠ” μ—¬μ „νžˆ `Path`λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

νŒŒμ΄μ¬μ€ "κΈ°λ³Έκ°’"이 μ—†λŠ” κ°’ μ•žμ— "κΈ°λ³Έκ°’"이 μžˆλŠ” 값을 μž…λ ₯ν•˜λ©΄ λΆˆν‰ν•©λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ λ§€κ°œλ³€μˆ˜λ“€μ„ μž¬μ •λ ¬ν•¨μœΌλ‘œμ¨ κΈ°λ³Έκ°’(쿼리 λ§€κ°œλ³€μˆ˜ `q`)이 μ—†λŠ” 값을 처음 뢀뢄에 μœ„μΉ˜ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

**FastAPI**μ—μ„œλŠ” μ€‘μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이름, νƒ€μž… 그리고 선언ꡬ(`Query`, `Path` λ“±)둜 λ§€κ°œλ³€μˆ˜λ₯Ό κ°μ§€ν•˜λ©° μˆœμ„œλŠ” μ‹ κ²½ 쓰지 μ•ŠμŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ ν•¨μˆ˜λ₯Ό λ‹€μŒκ³Ό 같이 μ„ μ–Έ ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

```Python hl_lines="8"
{!../../../docs_src/path_params_numeric_validations/tutorial002.py!}
```

## ν•„μš”ν•œ 경우 λ§€κ°œλ³€μˆ˜ μ •λ ¬ν•˜κΈ°, 트릭

`Query`λ‚˜ μ•„λ¬΄λŸ° κΈ°λ³Έκ°’μœΌλ‘œλ„ `q` 경둜 λ§€κ°œλ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κ³  싢지 μ•Šμ§€λ§Œ `Path`λ₯Ό μ‚¬μš©ν•˜μ—¬ 경둜 λ§€κ°œλ³€μˆ˜λ₯Ό `item_id` λ‹€λ₯Έ μˆœμ„œλ‘œ μ„ μ–Έν•˜κ³  μ‹Άλ‹€λ©΄, νŒŒμ΄μ¬μ€ 이λ₯Ό μœ„ν•œ μž‘κ³  νŠΉλ³„ν•œ 문법이 μžˆμŠ΅λ‹ˆλ‹€.

`*`λ₯Ό ν•¨μˆ˜μ˜ 첫 번째 λ§€κ°œλ³€μˆ˜λ‘œ μ „λ‹¬ν•˜μ„Έμš”.

νŒŒμ΄μ¬μ€ `*`으둜 μ•„λ¬΄λŸ° 행동도 ν•˜μ§€ μ•Šμ§€λ§Œ, λ”°λ₯΄λŠ” λ§€κ°œλ³€μˆ˜λ“€μ€ <abbr title="유래: K-ey W-ord Arg-uments"><code>kwargs</code></abbr>λ‘œλ„ μ•Œλ €μ§„ ν‚€μ›Œλ“œ 인자(ν‚€-κ°’ 쌍)μ—¬μ•Ό 함을 μΈμ§€ν•©λ‹ˆλ‹€. 기본값을 가지고 μžˆμ§€ μ•Šλ”λΌλ„ κ·Έλ ‡μŠ΅λ‹ˆλ‹€.

```Python hl_lines="8"
{!../../../docs_src/path_params_numeric_validations/tutorial003.py!}
```

## 숫자 검증: ν¬κ±°λ‚˜ κ°™μŒ

`Query`와 `Path`(λ‚˜μ€‘μ— λ³Ό λ‹€λ₯Έ 것듀도)λ₯Ό μ‚¬μš©ν•˜μ—¬ λ¬Έμžμ—΄ 뿐만 μ•„λ‹ˆλΌ 숫자의 μ œμ•½μ„ μ„ μ–Έν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ—¬κΈ°μ„œ `ge=1`인 경우, `item_id`λŠ” `1`보닀 "ν¬κ±°λ‚˜(`g`reater) 같은(`e`qual)" μ •μˆ˜ν˜• μˆ«μžμ—¬μ•Ό ν•©λ‹ˆλ‹€.

```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 hl_lines="9"
{!../../../docs_src/path_params_numeric_validations/tutorial005.py!}
```

## 숫자 검증: λΆ€λ™μ†Œμˆ˜, ν¬κ±°λ‚˜ 및 μž‘κ±°λ‚˜

숫자 검증은 `float` 값에도 λ™μž‘ν•©λ‹ˆλ‹€.

μ—¬κΈ°μ—μ„œ <abbr title="greater than or equal"><code>ge</code></abbr>뿐만 μ•„λ‹ˆλΌ <abbr title="greater than"><code>gt</code></abbr>λ₯Ό μ„ μ–Έ ν•  μˆ˜μžˆλŠ” 것이 μ€‘μš”ν•΄μ§‘λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ ν•„μš”ν•œ 경우, 값이 `1`보닀 μž‘λ”λΌλ„ λ°˜λ“œμ‹œ `0`보닀 μ»€μ•Όν•©λ‹ˆλ‹€.

즉, `0.5`λŠ” μœ νš¨ν•œ κ°’μž…λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ `0.0` λ˜λŠ” `0`은 그렇지 μ•ŠμŠ΅λ‹ˆλ‹€.

<abbr title="less than"><code>lt</code></abbr> μ—­μ‹œ λ§ˆμ°¬κ°€μ§€μž…λ‹ˆλ‹€.

```Python hl_lines="11"
{!../../../docs_src/path_params_numeric_validations/tutorial006.py!}
```

## μš”μ•½

`Query`, `Path`(아직 보지 λͺ»ν•œ λ‹€λ₯Έ 것듀도)λ₯Ό μ‚¬μš©ν•˜λ©΄ [쿼리 λ§€κ°œλ³€μˆ˜μ™€ λ¬Έμžμ—΄ 검증](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 "기술 세뢀사항"
`fastapi`μ—μ„œ `Query`, `Path` 등을 μž„ν¬νŠΈ ν•  λ•Œ, 이것듀은 μ‹€μ œλ‘œ ν•¨μˆ˜μž…λ‹ˆλ‹€.

호좜되면 λ™μΌν•œ μ΄λ¦„μ˜ 클래슀의 μΈμŠ€ν„΄μŠ€λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

즉, ν•¨μˆ˜μΈ `Query`λ₯Ό μž„ν¬νŠΈν•œ κ²λ‹ˆλ‹€. 그리고 ν˜ΈμΆœν•˜λ©΄ `Query`λΌλŠ” 이름을 가진 클래슀의 μΈμŠ€ν„΄μŠ€λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

νŽΈμ§‘κΈ°μ—μ„œ νƒ€μž…μ— λŒ€ν•œ 였λ₯˜λ₯Ό ν‘œμ‹œν•˜μ§€ μ•Šλ„λ‘ ν•˜κΈ° μœ„ν•΄ (클래슀λ₯Ό 직접 μ‚¬μš©ν•˜λŠ” λŒ€μ‹ ) μ΄λŸ¬ν•œ ν•¨μˆ˜λ“€μ΄ μžˆμŠ΅λ‹ˆλ‹€.

μ΄λ ‡κ²Œ ν•˜λ©΄ 였λ₯˜λ₯Ό λ¬΄μ‹œν•˜κΈ° μœ„ν•œ μ‚¬μš©μž 섀정을 μΆ”κ°€ν•˜μ§€ μ•Šκ³ λ„ 일반 νŽΈμ§‘κΈ°μ™€ μ½”λ”© 도ꡬλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
1 change: 1 addition & 0 deletions docs/ko/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ nav:
- tutorial/path-params.md
- tutorial/query-params.md
- tutorial/header-params.md
- tutorial/path-params-numeric-validations.md
markdown_extensions:
- toc:
permalink: true
Expand Down

0 comments on commit a5d697b

Please sign in to comment.