Browse Source

๐ŸŒ Add Korean translation for `/docs/ko/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md` (#11124)

pull/11130/head
๊น€๋ช…๊ธฐ 1 year ago
committed by GitHub
parent
commit
b1fa0f262e
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 139
      docs/ko/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md

139
docs/ko/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md

@ -0,0 +1,139 @@
# ๊ฒฝ๋กœ ์ž‘๋™ ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ์—์„œ์˜ ์˜์กด์„ฑ
๋ช‡๋ช‡ ๊ฒฝ์šฐ์—๋Š”, *๊ฒฝ๋กœ ์ž‘๋™ ํ•จ์ˆ˜* ์•ˆ์—์„œ ์˜์กด์„ฑ์˜ ๋ฐ˜ํ™˜ ๊ฐ’์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋˜๋Š” ์˜์กด์„ฑ์ด ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์—ฌ์ „ํžˆ ์‹คํ–‰/ํ•ด๊ฒฐ๋  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์—, `Depends`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ *๊ฒฝ๋กœ ์ž‘๋™ ํ•จ์ˆ˜*์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค *๊ฒฝ๋กœ ์ž‘๋™ ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ*์— `dependencies`์˜ `list`๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
## *๊ฒฝ๋กœ ์ž‘๋™ ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ*์— `dependencies` ์ถ”๊ฐ€ํ•˜๊ธฐ
*๊ฒฝ๋กœ ์ž‘๋™ ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ*๋Š” `dependencies`๋ผ๋Š” ์„ ํƒ์ ์ธ ์ธ์ž๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.
`Depends()`๋กœ ๋œ `list`์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค:
=== "Python 3.9+"
```Python hl_lines="19"
{!> ../../../docs_src/dependencies/tutorial006_an_py39.py!}
```
=== "Python 3.8+"
```Python hl_lines="18"
{!> ../../../docs_src/dependencies/tutorial006_an.py!}
```
=== "Python 3.8 Annotated๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ"
!!! tip "ํŒ"
๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด `Annotated`๊ฐ€ ๋‹ฌ๋ฆฐ ๋ฒ„์ „์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
```Python hl_lines="17"
{!> ../../../docs_src/dependencies/tutorial006.py!}
```
์ด๋Ÿฌํ•œ ์˜์กด์„ฑ๋“ค์€ ๊ธฐ์กด ์˜์กด์„ฑ๋“ค๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์‹คํ–‰/ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ’์€ (๋ฌด์—‡์ด๋“  ๋ฐ˜ํ™˜ํ•œ๋‹ค๋ฉด) *๊ฒฝ๋กœ ์ž‘๋™ ํ•จ์ˆ˜*์— ์ œ๊ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
!!! tip "ํŒ"
์ผ๋ถ€ ํŽธ์ง‘๊ธฐ์—์„œ๋Š” ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ•จ์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฒ€์‚ฌํ•˜๊ณ  ์˜ค๋ฅ˜๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
*๊ฒฝ๋กœ ์ž‘๋™ ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ*์—์„œ `dependencies`๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŽธ์ง‘๊ธฐ/๋„๊ตฌ ์˜ค๋ฅ˜๋ฅผ ํ”ผํ•˜๋ฉฐ ์‹คํ–‰๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ณด๊ณ  ๋ถˆํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ์ž์˜ ํ˜ผ๋ž€์„ ๋ฐฉ์ง€ํ•˜๋Š”๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
!!! info "์ •๋ณด"
์ด ์˜ˆ์‹œ์—์„œ `X-Key`์™€ `X-Token`์ด๋ผ๋Š” ์ปค์Šคํ…€ ํ—ค๋”๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ๋กœ ๋ณด์•ˆ์„ ๊ตฌํ˜„ํ•  ๋•Œ๋Š” ํ†ตํ•ฉ๋œ [๋ณด์•ˆ ์œ ํ‹ธ๋ฆฌํ‹ฐ (๋‹ค์Œ ์ฑ•ํ„ฐ)](../security/index.md){.internal-link target=_blank}๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ๋งŽ์€ ์ด์ ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
## ์˜์กด์„ฑ ์˜ค๋ฅ˜์™€ ๊ฐ’ ๋ฐ˜ํ™˜ํ•˜๊ธฐ
ํ‰์†Œ์— ์‚ฌ์šฉํ•˜๋˜๋Œ€๋กœ ๊ฐ™์€ ์˜์กด์„ฑ *ํ•จ์ˆ˜*๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
### ์˜์กด์„ฑ ์š”๊ตฌ์‚ฌํ•ญ
(ํ—ค๋”๊ฐ™์€) ์š”์ฒญ ์š”๊ตฌ์‚ฌํ•ญ์ด๋‚˜ ํ•˜์œ„-์˜์กด์„ฑ์„ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
=== "Python 3.9+"
```Python hl_lines="8 13"
{!> ../../../docs_src/dependencies/tutorial006_an_py39.py!}
```
=== "Python 3.8+"
```Python hl_lines="7 12"
{!> ../../../docs_src/dependencies/tutorial006_an.py!}
```
=== "Python 3.8 Annotated๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ"
!!! tip "ํŒ"
๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด `Annotated`๊ฐ€ ๋‹ฌ๋ฆฐ ๋ฒ„์ „์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
```Python hl_lines="6 11"
{!> ../../../docs_src/dependencies/tutorial006.py!}
```
### ์˜ค๋ฅ˜ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ
๋‹ค์Œ ์˜์กด์„ฑ์€ ๊ธฐ์กด ์˜์กด์„ฑ๊ณผ ๋™์ผํ•˜๊ฒŒ ์˜ˆ์™ธ๋ฅผ `raise`๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
=== "Python 3.9+"
```Python hl_lines="10 15"
{!> ../../../docs_src/dependencies/tutorial006_an_py39.py!}
```
=== "Python 3.8+"
```Python hl_lines="9 14"
{!> ../../../docs_src/dependencies/tutorial006_an.py!}
```
=== "Python 3.8 Annotated๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ"
!!! tip "ํŒ"
๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด `Annotated`๊ฐ€ ๋‹ฌ๋ฆฐ ๋ฒ„์ „์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
```Python hl_lines="8 13"
{!> ../../../docs_src/dependencies/tutorial006.py!}
```
### ๊ฐ’ ๋ฐ˜ํ™˜ํ•˜๊ธฐ
๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜, ๊ทธ๋Ÿฌ์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฐ’์€ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ ์ด๋ฏธ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์‚ฌ์šฉ๋œ (๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š”) ์ผ๋ฐ˜์ ์ธ ์˜์กด์„ฑ์„ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ๋น„๋ก ๊ฐ’์€ ์‚ฌ์šฉ๋˜์ง€ ์•Š์ง€๋งŒ ์˜์กด์„ฑ์€ ์‹คํ–‰๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค:
=== "Python 3.9+"
```Python hl_lines="11 16"
{!> ../../../docs_src/dependencies/tutorial006_an_py39.py!}
```
=== "Python 3.8+"
```Python hl_lines="10 15"
{!> ../../../docs_src/dependencies/tutorial006_an.py!}
```
=== "Python 3.8 Annotated๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ"
!!! tip "ํŒ"
๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด `Annotated`๊ฐ€ ๋‹ฌ๋ฆฐ ๋ฒ„์ „์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
```Python hl_lines="9 14"
{!> ../../../docs_src/dependencies/tutorial006.py!}
```
## *๊ฒฝ๋กœ ์ž‘๋™* ๋ชจ์Œ์— ๋Œ€ํ•œ ์˜์กด์„ฑ
๋‚˜์ค‘์— ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ๊ฐ€์ง€๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ๋” ํฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์กฐํ™”ํ•˜๋Š” ๋ฒ•([๋” ํฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ - ์—ฌ๋Ÿฌ ํŒŒ์ผ๋“ค](../../tutorial/bigger-applications.md){.internal-link target=_blank})์„ ์ฝ์„ ๋•Œ, *๊ฒฝ๋กœ ์ž‘๋™* ๋ชจ์Œ์— ๋Œ€ํ•œ ๋‹จ์ผ `dependencies` ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด์„œ ๋ฐฐ์šฐ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
## ์ „์—ญ ์˜์กด์„ฑ
๋‹ค์Œ์œผ๋กœ ๊ฐ *๊ฒฝ๋กœ ์ž‘๋™*์— ์ ์šฉ๋˜๋„๋ก `FastAPI` ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์ฒด์— ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฒ•์„ ๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
Loadingโ€ฆ
Cancel
Save