committed by
GitHub
1 changed files with 139 additions and 0 deletions
@ -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โฆ
Reference in new issue