committed by
GitHub
1 changed files with 68 additions and 0 deletions
@ -0,0 +1,68 @@ |
|||
# ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์ ๋ชจ๋ธ |
|||
|
|||
์ฐ๊ด๋ ์ฟผ๋ฆฌ **๋งค๊ฐ๋ณ์** ๊ทธ๋ฃน์ด ์๋ค๋ฉด **Pydantic ๋ชจ๋ธ** ์ ์ฌ์ฉํด ์ ์ธํ ์ ์์ต๋๋ค. |
|||
|
|||
์ด๋ ๊ฒ ํ๋ฉด **์ฌ๋ฌ ๊ณณ**์์ **๋ชจ๋ธ์ ์ฌ์ฌ์ฉ**ํ ์ ์์ ๋ฟ๋ง ์๋๋ผ, ๋งค๊ฐ๋ณ์์ ๋ํ ๊ฒ์ฆ ๋ฐ ๋ฉํ๋ฐ์ดํฐ๋ ํ ๋ฒ์ ์ ์ธํ ์ ์์ต๋๋ค. ๐ |
|||
|
|||
/// note | ์ฐธ๊ณ |
|||
|
|||
์ด ๊ธฐ๋ฅ์ FastAPI ๋ฒ์ `0.115.0`๋ถํฐ ์ ๊ณต๋ฉ๋๋ค. ๐ค |
|||
|
|||
/// |
|||
|
|||
## ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์์ Pydantic ๋ชจ๋ธ |
|||
|
|||
ํ์ํ **์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์**๋ฅผ **Pydantic ๋ชจ๋ธ** ์์ ์ ์ธํ ๋ค์, ๋ชจ๋ธ์ `Query`๋ก ์ ์ธํฉ๋๋ค. |
|||
|
|||
{* ../../docs_src/query_param_models/tutorial001_an_py310.py hl[9:13,17] *} |
|||
|
|||
**FastAPI**๋ ์์ฒญ์ **์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์**์์ **๊ฐ ํ๋**์ ๋ฐ์ดํฐ๋ฅผ **์ถ์ถ**ํด ์ ์ํ Pydantic ๋ชจ๋ธ๋ก ์ ๊ณตํฉ๋๋ค. |
|||
|
|||
## ๋ฌธ์ ํ์ธํ๊ธฐ |
|||
|
|||
`/docs` ๊ฒฝ๋ก์ API ๋ฌธ์์์ ๋งค๊ฐ๋ณ์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. |
|||
|
|||
<div class="screenshot"> |
|||
<img src="/img/tutorial/query-param-models/image01.png"> |
|||
</div> |
|||
|
|||
## ์ถ๊ฐ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์ ๊ธ์ง |
|||
|
|||
๋ช๋ช์ ํน์ดํ ๊ฒฝ์ฐ์ (ํ์น ์์ง๋ง), ํ์ฉํ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ฅผ **์ ํ**ํด์ผํ ์ ์์ต๋๋ค. |
|||
|
|||
Pydantic ๋ชจ๋ธ ์ค์ ์์ `extra` ํ๋๋ฅผ `forbid` ๋ก ์ค์ ํ ์ ์์ต๋๋ค. |
|||
|
|||
{* ../../docs_src/query_param_models/tutorial002_an_py310.py hl[10] *} |
|||
|
|||
๋ง์ฝ ํด๋ผ์ด์ธํธ๊ฐ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ก **์ถ๊ฐ์ ์ธ** ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ค๊ณ ํ๋ฉด, ํด๋ผ์ด์ธํธ๋ **์๋ฌ** ์๋ต์ ๋ฐ๊ฒ ๋ฉ๋๋ค. |
|||
|
|||
์๋ฅผ ๋ค์ด, ์๋์ ๊ฐ์ด ๋ง์ฝ ํด๋ผ์ด์ธํธ๊ฐ `tool` ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์์ `plumbus` ๋ผ๋ ๊ฐ์ ์ถ๊ฐํด์ ๋ณด๋ด๋ ค๊ณ ํ๋ฉด, |
|||
|
|||
```http |
|||
https://example.com/items/?limit=10&tool=plumbus |
|||
``` |
|||
|
|||
ํด๋ผ์ด์ธํธ๋ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์ `tool` ์ด ํ์ฉ๋์ง ์๋๋ค๋ **์๋ฌ** ์๋ต์ ๋ฐ๊ฒ ๋ฉ๋๋ค. |
|||
|
|||
```json |
|||
{ |
|||
"detail": [ |
|||
{ |
|||
"type": "extra_forbidden", |
|||
"loc": ["query", "tool"], |
|||
"msg": "Extra inputs are not permitted", |
|||
"input": "plumbus" |
|||
} |
|||
] |
|||
} |
|||
``` |
|||
|
|||
## ์์ฝ |
|||
|
|||
**FastAPI** ์์ **์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์** ๋ฅผ ์ ์ธํ ๋ **Pydantic ๋ชจ๋ธ** ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๐ |
|||
|
|||
/// tip | ํ |
|||
|
|||
์คํฌ์ผ๋ฌ ๊ฒฝ๊ณ : Pydantic ๋ชจ๋ธ์ ์ฟ ํค์ ํค๋์๋ ์ ์ฉํ ์ ์์ต๋๋ค. ์ด์ ๋ํด์๋ ์ดํ ํํ ๋ฆฌ์ผ์์ ๋ค๋ฃฐ ์์ ์
๋๋ค. ๐คซ |
|||
|
|||
/// |
Loadingโฆ
Reference in new issue