committed by
GitHub
1 changed files with 58 additions and 0 deletions
@ -0,0 +1,58 @@ |
|||||
|
# `Request` ์ง์ ์ฌ์ฉํ๊ธฐ |
||||
|
|
||||
|
์ง๊ธ๊น์ง ์์ฒญ์์ ํ์ํ ๋ถ๋ถ์ ๊ฐ ํ์
์ผ๋ก ์ ์ธํ์ฌ ์ฌ์ฉํด ์์ต๋๋ค. |
||||
|
|
||||
|
๋ค์๊ณผ ๊ฐ์ ๊ณณ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ต๋๋ค: |
||||
|
|
||||
|
* ๊ฒฝ๋ก์ ํ๋ผ๋ฏธํฐ๋ก๋ถํฐ. |
||||
|
* ํค๋. |
||||
|
* ์ฟ ํค. |
||||
|
* ๊ธฐํ ๋ฑ๋ฑ. |
||||
|
|
||||
|
์ด๋ ๊ฒ ํจ์ผ๋ก์จ, **FastAPI**๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ฆํ๊ณ ๋ณํํ๋ฉฐ, API์ ๋ํ ๋ฌธ์๋ฅผ ์๋ํ๋ก ์์ฑํฉ๋๋ค. |
||||
|
|
||||
|
ํ์ง๋ง `Request` ๊ฐ์ฒด์ ์ง์ ์ ๊ทผํด์ผ ํ๋ ์ํฉ์ด ์์ ์ ์์ต๋๋ค. |
||||
|
|
||||
|
## `Request` ๊ฐ์ฒด์ ๋ํ ์ธ๋ถ ์ฌํญ |
||||
|
|
||||
|
**FastAPI**๋ ์ค์ ๋ก ๋ด๋ถ์ **Starlette**์ ์ฌ์ฉํ๋ฉฐ, ๊ทธ ์์ ์ฌ๋ฌ ๋๊ตฌ๋ฅผ ๋ง๋ถ์ธ ๊ตฌ์กฐ์
๋๋ค. ๋ฐ๋ผ์ ์ฌ๋ฌ๋ถ์ด ํ์ํ ๋ Starlette์ <a href="https://www.starlette.io/requests/" class="external-link" target="_blank">`Request`</a> ๊ฐ์ฒด๋ฅผ ์ง์ ์ฌ์ฉํ ์ ์์ต๋๋ค. |
||||
|
|
||||
|
`Request` ๊ฐ์ฒด์์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ๊ฐ์ ธ์ค๋ ๊ฒฝ์ฐ(์: ๋ณธ๋ฌธ์ ์ฝ๊ธฐ)์๋ FastAPI๊ฐ ํด๋น ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ฆํ๊ฑฐ๋ ๋ณํํ์ง ์์ผ๋ฉฐ, ๋ฌธ์ํ(OpenAPI๋ฅผ ํตํ ๋ฌธ์ ์๋ํ(๋ก ์์ฑ๋) API ์ฌ์ฉ์ ์ธํฐํ์ด์ค)๋ ๋์ง ์์ต๋๋ค. |
||||
|
|
||||
|
๊ทธ๋ฌ๋ ๋ค๋ฅธ ๋งค๊ฐ๋ณ์(์: Pydantic ๋ชจ๋ธ์ ์ฌ์ฉํ ๋ณธ๋ฌธ)๋ ์ฌ์ ํ ๊ฒ์ฆ, ๋ณํ, ์ฃผ์ ์ถ๊ฐ ๋ฑ์ด ์ด๋ฃจ์ด์ง๋๋ค. |
||||
|
|
||||
|
ํ์ง๋ง ํน์ ํ ๊ฒฝ์ฐ์๋ `Request` ๊ฐ์ฒด์ ์ง์ ์ ๊ทผํ๋ ๊ฒ์ด ์ ์ฉํ ์ ์์ต๋๋ค. |
||||
|
|
||||
|
## `Request` ๊ฐ์ฒด๋ฅผ ์ง์ ์ฌ์ฉํ๊ธฐ |
||||
|
|
||||
|
์ฌ๋ฌ๋ถ์ด ํด๋ผ์ด์ธํธ์ IP ์ฃผ์/ํธ์คํธ ์ ๋ณด๋ฅผ *๊ฒฝ๋ก ์๋ ํจ์* ๋ด๋ถ์์ ๊ฐ์ ธ์์ผ ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. |
||||
|
|
||||
|
์ด๋ฅผ ์ํด์๋ ์์ฒญ์ ์ง์ ์ ๊ทผํด์ผ ํฉ๋๋ค. |
||||
|
|
||||
|
```Python hl_lines="1 7-8" |
||||
|
{!../../docs_src/using_request_directly/tutorial001.py!} |
||||
|
``` |
||||
|
|
||||
|
*๊ฒฝ๋ก ์๋ ํจ์* ๋งค๊ฐ๋ณ์๋ฅผ `Request` ํ์
์ผ๋ก ์ ์ธํ๋ฉด **FastAPI**๊ฐ ํด๋น ๋งค๊ฐ๋ณ์์ `Request` ๊ฐ์ฒด๋ฅผ ์ ๋ฌํ๋ ๊ฒ์ ์๊ฒ ๋ฉ๋๋ค. |
||||
|
|
||||
|
/// tip | ํ |
||||
|
|
||||
|
์ด ๊ฒฝ์ฐ, ์์ฒญ ๋งค๊ฐ๋ณ์์ ํจ๊ป ๊ฒฝ๋ก ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ธํ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. |
||||
|
|
||||
|
๋ฐ๋ผ์, ๊ฒฝ๋ก ๋งค๊ฐ๋ณ์๋ ์ถ์ถ๋๊ณ ๊ฒ์ฆ๋๋ฉฐ ์ง์ ๋ ํ์
์ผ๋ก ๋ณํ๋๊ณ OpenAPI๋ก ์ฃผ์์ด ์ถ๊ฐ๋ฉ๋๋ค. |
||||
|
|
||||
|
์ด์ ๊ฐ์ ๋ฐฉ์์ผ๋ก, ๋ค๋ฅธ ๋งค๊ฐ๋ณ์๋ค์ ํ์์ฒ๋ผ ์ ์ธํ๋ฉด์, ๋ถ๊ฐ์ ์ผ๋ก `Request`๋ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. |
||||
|
|
||||
|
/// |
||||
|
|
||||
|
## `Request` ์ค๋ช
์ |
||||
|
|
||||
|
์ฌ๋ฌ๋ถ์ `Request` ๊ฐ์ฒด์ ๋ํ ๋ ์์ธํ ๋ด์ฉ์ <a href="https://www.starlette.io/requests/" class="external-link" target="_blank">๊ณต์ Starlette ์ค๋ช
์ ์ฌ์ดํธ</a>์์ ์ฝ์ด๋ณผ ์ ์์ต๋๋ค. |
||||
|
|
||||
|
/// note | ๊ธฐ์ ์ธ๋ถ์ฌํญ |
||||
|
|
||||
|
`from starlette.requests import Request`๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. |
||||
|
|
||||
|
**FastAPI**๋ ์ฌ๋ฌ๋ถ(๊ฐ๋ฐ์)๋ฅผ ์ํ ํธ์๋ฅผ ์ํด ์ด๋ฅผ ์ง์ ์ ๊ณตํ์ง๋ง, ์ค์ ๋ก๋ Starlette์์ ๊ฐ์ ธ์จ ๊ฒ์
๋๋ค. |
||||
|
|
||||
|
/// |
Loadingโฆ
Reference in new issue