committed by
GitHub
2 changed files with 91 additions and 0 deletions
@ -0,0 +1,90 @@ |
|||||
|
# ํค๋ ๋งค๊ฐ๋ณ์ |
||||
|
|
||||
|
ํค๋ ๋งค๊ฐ๋ณ์๋ฅผ `Query`, `Path` ๊ทธ๋ฆฌ๊ณ `Cookie` ๋งค๊ฐ๋ณ์๋ค๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ ์ํ ์ ์์ต๋๋ค. |
||||
|
|
||||
|
## `Header` ์ํฌํธ |
||||
|
|
||||
|
๋จผ์ `Header`๋ฅผ ์ํฌํธํฉ๋๋ค: |
||||
|
|
||||
|
```Python hl_lines="3" |
||||
|
{!../../../docs_src/header_params/tutorial001.py!} |
||||
|
``` |
||||
|
|
||||
|
## `Header` ๋งค๊ฐ๋ณ์ ์ ์ธ |
||||
|
|
||||
|
`Path`, `Query` ๊ทธ๋ฆฌ๊ณ `Cookie`๋ฅผ ์ฌ์ฉํ ๋์ผํ ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ์ฌ ํค๋ ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ธํฉ๋๋ค. |
||||
|
|
||||
|
์ฒซ ๋ฒ์งธ ๊ฐ์ ๊ธฐ๋ณธ๊ฐ์ด๋ฉฐ, ์ถ๊ฐ ๊ฒ์ฆ์ด๋ ์ด๋
ธํ
์ด์
๋งค๊ฐ๋ณ์ ๋ชจ๋ ์ ๋ฌํ ์ ์์ต๋๋ค: |
||||
|
|
||||
|
```Python hl_lines="9" |
||||
|
{!../../../docs_src/header_params/tutorial001.py!} |
||||
|
``` |
||||
|
|
||||
|
!!! note "๊ธฐ์ ์ธ๋ถ์ฌํญ" |
||||
|
`Header`๋ `Path`, `Query` ๋ฐ `Cookie`์ "์๋งค"ํด๋์ค์
๋๋ค. ์ด ์ญ์ ๋์ผํ ๊ณตํต `Param` ํด๋์ค๋ฅผ ์์ํฉ๋๋ค. |
||||
|
|
||||
|
`Query`, `Path`, `Header` ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ๊ฒ๋ค์ `fastapi`์์ ์ํฌํธ ํ ๋, ์ด๋ค์ ์ค์ ๋ก ํน๋ณํ ํด๋์ค๋ฅผ ๋ฐํํ๋ ํจ์์์ ๊ธฐ์ตํ์ธ์. |
||||
|
|
||||
|
!!! info "์ ๋ณด" |
||||
|
ํค๋๋ฅผ ์ ์ธํ๊ธฐ ์ํด์ `Header`๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ํด๋น ๋งค๊ฐ๋ณ์๋ฅผ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ก ํด์ํ๊ธฐ ๋๋ฌธ์
๋๋ค. |
||||
|
|
||||
|
## ์๋ ๋ณํ |
||||
|
|
||||
|
`Header`๋ `Path`, `Query` ๊ทธ๋ฆฌ๊ณ `Cookie`๊ฐ ์ ๊ณตํ๋ ๊ฒ ์ธ์ ๊ธฐ๋ฅ์ด ์กฐ๊ธ ๋ ์์ต๋๋ค. |
||||
|
|
||||
|
๋๋ถ๋ถ์ ํ์ค ํค๋๋ "๋ง์ด๋์ค ๊ธฐํธ" (`-`)๋ผ๊ณ ๋ ํ๋ "ํ์ดํ" ๋ฌธ์๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. |
||||
|
|
||||
|
๊ทธ๋ฌ๋ ํ์ด์ฌ์์ `user-agent`์ ๊ฐ์ ํํ์ ๋ณ์๋ ์ ํจํ์ง ์์ต๋๋ค. |
||||
|
|
||||
|
๋ฐ๋ผ์ `Header`๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋งค๊ฐ๋ณ์ ์ด๋ฆ์ ์ธ๋์ค์ฝ์ด(`_`)์์ ํ์ดํ(`-`)์ผ๋ก ๋ณํํ์ฌ ํค๋๋ฅผ ์ถ์ถํ๊ณ ๊ธฐ๋กํฉ๋๋ค. |
||||
|
|
||||
|
๋ํ HTTP ํค๋๋ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์์ผ๋ฏ๋ก "snake_case"๋ก ์๋ ค์ง ํ์ค ํ์ด์ฌ ์คํ์ผ๋ก ์ ์ธํ ์ ์์ต๋๋ค. |
||||
|
|
||||
|
๋ฐ๋ผ์, `User_Agent` ๋ฑ๊ณผ ๊ฐ์ด ์ฒซ ๋ฌธ์๋ฅผ ๋๋ฌธ์ํํ ํ์์์ด ํ์ด์ฌ ์ฝ๋์์์ฒ๋ผ `user_agent`๋ก ์ฌ์ฉํฉ๋๋ค. |
||||
|
|
||||
|
๋ง์ฝ ์ธ๋์ค์ฝ์ด๋ฅผ ํ์ดํ์ผ๋ก ์๋ ๋ณํ์ ๋นํ์ฑํํด์ผ ํ ์ด๋ค ์ด์ ๊ฐ ์๋ค๋ฉด, `Header`์ `convert_underscores` ๋งค๊ฐ๋ณ์๋ฅผ `False`๋ก ์ค์ ํ์ญ์์ค: |
||||
|
|
||||
|
```Python hl_lines="10" |
||||
|
{!../../../docs_src/header_params/tutorial002.py!} |
||||
|
``` |
||||
|
|
||||
|
!!! warning "๊ฒฝ๊ณ " |
||||
|
`convert_underscore`๋ฅผ `False`๋ก ์ค์ ํ๊ธฐ ์ ์, ์ด๋ค HTTP ํ๋ก์๋ค๊ณผ ์๋ฒ๋ค์ ์ธ๋์ค์ฝ์ด๊ฐ ํฌํจ๋ ํค๋ ์ฌ์ฉ์ ํ๋ฝํ์ง ์๋๋ค๋ ๊ฒ์ ๋ช
์ฌํ์ญ์์ค. |
||||
|
|
||||
|
## ์ค๋ณต ํค๋ |
||||
|
|
||||
|
์ค๋ณต ํค๋๋ค์ ์์ ํ ์ ์์ต๋๋ค. ์ฆ, ๋ค์ค๊ฐ์ ๊ฐ๋ ๋์ผํ ํค๋๋ฅผ ๋ปํฉ๋๋ค. |
||||
|
|
||||
|
ํ์
์ ์์์ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ์ผ์ด์ค๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. |
||||
|
|
||||
|
์ค๋ณต ํค๋์ ๋ชจ๋ ๊ฐ์ ํ์ด์ฌ `list`๋ก ์์ ํฉ๋๋ค. |
||||
|
|
||||
|
์๋ฅผ ๋ค์ด, ๋ ๋ฒ ์ด์ ๋ํ๋ ์ ์๋ `X-Token`ํค๋๋ฅผ ์ ์ธํ๋ ค๋ฉด, ๋ค์๊ณผ ๊ฐ์ด ์์ฑํฉ๋๋ค: |
||||
|
|
||||
|
```Python hl_lines="9" |
||||
|
{!../../../docs_src/header_params/tutorial003.py!} |
||||
|
``` |
||||
|
|
||||
|
๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ HTTP ํค๋๋ฅผ ์ ์กํ์ฌ ํด๋น *๊ฒฝ๋ก* ์ ํต์ ํ ๊ฒฝ์ฐ: |
||||
|
|
||||
|
``` |
||||
|
X-Token: foo |
||||
|
X-Token: bar |
||||
|
``` |
||||
|
|
||||
|
์๋ต์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค: |
||||
|
|
||||
|
```JSON |
||||
|
{ |
||||
|
"X-Token values": [ |
||||
|
"bar", |
||||
|
"foo" |
||||
|
] |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
## ์์ฝ |
||||
|
|
||||
|
`Header`๋ `Query`, `Path`, `Cookie`์ ๋์ผํ ํจํด์ ์ฌ์ฉํ์ฌ ์ ์ธํฉ๋๋ค. |
||||
|
|
||||
|
๋ณ์์ ์ธ๋์ค์ฝ์ด๋ฅผ ๊ฑฑ์ ํ์ง ๋ง์ญ์์ค, **FastAPI**๊ฐ ๋ณ์๋ฅผ ๋ณํํ ๊ฒ์
๋๋ค. |
Loadingโฆ
Reference in new issue