Skip to content

Commit

Permalink
๐ŸŒ Add Korean translation for /docs/ko/docs/tutorial/body-fields.md (#โ€ฆ
Browse files Browse the repository at this point in the history
  • Loading branch information
KaniKim committed Feb 9, 2024
1 parent 75e3aac commit a5edc3f
Showing 1 changed file with 116 additions and 0 deletions.
116 changes: 116 additions & 0 deletions docs/ko/docs/tutorial/body-fields.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# ๋ณธ๋ฌธ - ํ•„๋“œ

`Query`, `Path`์™€ `Body`๋ฅผ ์‚ฌ์šฉํ•ด *๊ฒฝ๋กœ ๋™์ž‘ ํ•จ์ˆ˜* ๋งค๊ฐœ๋ณ€์ˆ˜ ๋‚ด์—์„œ ์ถ”๊ฐ€์ ์ธ ๊ฒ€์ฆ์ด๋‚˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์„ ์–ธํ•œ ๊ฒƒ์ฒ˜๋Ÿผ Pydantic์˜ `Field`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ ๋‚ด์—์„œ ๊ฒ€์ฆ๊ณผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

## `Field` ์ž„ํฌํŠธ

๋จผ์ € ์ด๋ฅผ ์ž„ํฌํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

=== "Python 3.10+"

```Python hl_lines="4"
{!> ../../../docs_src/body_fields/tutorial001_an_py310.py!}
```

=== "Python 3.9+"

```Python hl_lines="4"
{!> ../../../docs_src/body_fields/tutorial001_an_py39.py!}
```

=== "Python 3.8+"

```Python hl_lines="4"
{!> ../../../docs_src/body_fields/tutorial001_an.py!}
```

=== "Python 3.10+ Annotated๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ"

!!! ํŒ
๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด `Annotated`๊ฐ€ ๋‹ฌ๋ฆฐ ๋ฒ„์ „์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

```Python hl_lines="2"
{!> ../../../docs_src/body_fields/tutorial001_py310.py!}
```

=== "Python 3.8+ Annotated๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ"

!!! tip "ํŒ"
๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด `Annotated`๊ฐ€ ๋‹ฌ๋ฆฐ ๋ฒ„์ „์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

```Python hl_lines="4"
{!> ../../../docs_src/body_fields/tutorial001.py!}
```

!!! warning "๊ฒฝ๊ณ "
`Field`๋Š” ๋‹ค๋ฅธ ๊ฒƒ๋“ค์ฒ˜๋Ÿผ (`Query`, `Path`, `Body` ๋“ฑ) `fastapi`์—์„œ๊ฐ€ ์•„๋‹Œ `pydantic`์—์„œ ๋ฐ”๋กœ ์ž„ํฌํŠธ ๋˜๋Š” ์ ์— ์ฃผ์˜ํ•˜์„ธ์š”.

## ๋ชจ๋ธ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ ์„ ์–ธ

๊ทธ ๋‹ค์Œ ๋ชจ๋ธ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ์™€ ํ•จ๊ป˜ `Field`๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

=== "Python 3.10+"

```Python hl_lines="11-14"
{!> ../../../docs_src/body_fields/tutorial001_an_py310.py!}
```

=== "Python 3.9+"

```Python hl_lines="11-14"
{!> ../../../docs_src/body_fields/tutorial001_an_py39.py!}
```

=== "Python 3.8+"

```Python hl_lines="12-15"
{!> ../../../docs_src/body_fields/tutorial001_an.py!}
```

=== "Python 3.10+ Annotated๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ"

!!! tip "ํŒ"
๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด `Annotated`๊ฐ€ ๋‹ฌ๋ฆฐ ๋ฒ„์ „์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

```Python hl_lines="9-12"
{!> ../../../docs_src/body_fields/tutorial001_py310.py!}
```

=== "Python 3.8+ Annotated๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ"

!!! tip "ํŒ"
๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด `Annotated`๊ฐ€ ๋‹ฌ๋ฆฐ ๋ฒ„์ „์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

```Python hl_lines="11-14"
{!> ../../../docs_src/body_fields/tutorial001.py!}
```

`Field`๋Š” `Query`, `Path`์™€ `Body`์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋ฉฐ, ๋ชจ๋‘ ๊ฐ™์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋“ค ๋“ฑ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

!!! note "๊ธฐ์ˆ ์  ์„ธ๋ถ€์‚ฌํ•ญ"
์‹ค์ œ๋กœ `Query`, `Path`๋“ฑ, ์—ฌ๋Ÿฌ๋ถ„์ด ์•ž์œผ๋กœ ๋ณผ ๋‹ค๋ฅธ ๊ฒƒ๋“ค์€ ๊ณตํ†ต ํด๋ž˜์Šค์ธ `Param` ํด๋ž˜์Šค์˜ ์„œ๋ธŒํด๋ž˜์Šค ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ, ๊ทธ ์ž์ฒด๋กœ Pydantic์˜ `FieldInfo` ํด๋ž˜์Šค์˜ ์„œ๋ธŒํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  Pydantic์˜ `Field` ๋˜ํ•œ `FieldInfo`์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

`Body` ๋˜ํ•œ `FieldInfo`์˜ ์„œ๋ธŒํด๋ž˜์Šค ๊ฐ์ฒด๋ฅผ ์ง์ ‘์ ์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  `Body` ํด๋ž˜์Šค์˜ ์„œ๋ธŒํด๋ž˜์Šค์ธ ๊ฒƒ๋“ค๋„ ์—ฌ๋Ÿฌ๋ถ„์ด ๋‚˜์ค‘์— ๋ณด๊ฒŒ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

`Query`, `Path`์™€ ๊ทธ ์™ธ ๊ฒƒ๋“ค์„ `fastapi`์—์„œ ์ž„ํฌํŠธํ•  ๋•Œ, ์ด๋Š” ์‹ค์ œ๋กœ ํŠน๋ณ„ํ•œ ํด๋ž˜์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜์ธ ๊ฒƒ์„ ๊ธฐ์–ตํ•ด ์ฃผ์„ธ์š”.

!!! tip "ํŒ"
์ฃผ๋ชฉํ•  ์ ์€ ํƒ€์ž…, ๊ธฐ๋ณธ ๊ฐ’ ๋ฐ `Field`๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฐ ๋ชจ๋ธ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๊ฐ€ `Path`, `Query`์™€ `Body`๋Œ€์‹  `Field`๋ฅผ ์‚ฌ์šฉํ•˜๋Š” *๊ฒฝ๋กœ ์ž‘๋™ ํ•จ์ˆ˜*์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค๋Š” ์  ์ž…๋‹ˆ๋‹ค.

## ๋ณ„๋„ ์ •๋ณด ์ถ”๊ฐ€

`Field`, `Query`, `Body`, ๊ทธ ์™ธ ์•ˆ์— ๋ณ„๋„ ์ •๋ณด๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ƒ์„ฑ๋œ JSON ์Šคํ‚ค๋งˆ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ๋ถ„์ด ์˜ˆ์ œ๋ฅผ ์„ ์–ธํ•  ๋•Œ ๋‚˜์ค‘์— ์ด ๊ณต์‹ ๋ฌธ์„œ์—์„œ ๋ณ„๋„ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

!!! warning "๊ฒฝ๊ณ "
๋ณ„๋„ ํ‚ค๊ฐ€ ์ „๋‹ฌ๋œ `Field` ๋˜ํ•œ ์—ฌ๋Ÿฌ๋ถ„์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ OpenAPI ์Šคํ‚ค๋งˆ์— ๋‚˜ํƒ€๋‚  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด๋Ÿฐ ํ‚ค๊ฐ€ OpenAPI ๋ช…์„ธ์„œ, [the OpenAPI validator](https://validator.swagger.io/)๊ฐ™์€ ๋ช‡๋ช‡ OpenAPI ๋„๊ตฌ๋“ค์— ํฌํ•จ๋˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์—ฌ๋Ÿฌ๋ถ„์ด ์ƒ์„ฑํ•œ ์Šคํ‚ค๋งˆ์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

## ์š”์•ฝ

๋ชจ๋ธ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋ฅผ ์œ„ํ•œ ์ถ”๊ฐ€ ๊ฒ€์ฆ๊ณผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„ ์–ธํ•˜๊ธฐ ์œ„ํ•ด Pydantic์˜ `Field` ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ถ”๊ฐ€์ ์ธ JSON ์Šคํ‚ค๋งˆ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ๋ณ„๋„์˜ ํ‚ค์›Œ๋“œ ์ธ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

0 comments on commit a5edc3f

Please sign in to comment.