committed by
GitHub
1 changed files with 45 additions and 0 deletions
@ -0,0 +1,45 @@ |
|||
# ์๋ต ํค๋ |
|||
|
|||
## `Response` ๋งค๊ฐ๋ณ์ ์ฌ์ฉํ๊ธฐ |
|||
|
|||
์ฌ๋ฌ๋ถ์ *๊ฒฝ๋ก ์๋ ํจ์*์์ `Response` ํ์
์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ธํ ์ ์์ต๋๋ค (์ฟ ํค์ ๊ฐ์ด ์ฌ์ฉํ ์ ์์ต๋๋ค). |
|||
|
|||
๊ทธ๋ฐ ๋ค์, ์ฌ๋ฌ๋ถ์ ํด๋น *์์* ์๋ต ๊ฐ์ฒด์์ ํค๋๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. |
|||
|
|||
```Python hl_lines="1 7-8" |
|||
{!../../docs_src/response_headers/tutorial002.py!} |
|||
``` |
|||
|
|||
๊ทธ ํ, ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ฏ์ด ํ์ํ ๊ฐ์ฒด(`dict`, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ ๋ฑ)๋ฅผ ๋ฐํํ ์ ์์ต๋๋ค. |
|||
|
|||
`response_model`์ ์ ์ธํ ๊ฒฝ์ฐ, ๋ฐํํ ๊ฐ์ฒด๋ฅผ ํํฐ๋งํ๊ณ ๋ณํํ๋ ๋ฐ ์ฌ์ ํ ์ฌ์ฉ๋ฉ๋๋ค. |
|||
|
|||
**FastAPI**๋ ํด๋น *์์* ์๋ต์์ ํค๋(์ฟ ํค์ ์ํ ์ฝ๋๋ ํฌํจ)๋ฅผ ์ถ์ถํ์ฌ, ์ฌ๋ฌ๋ถ์ด ๋ฐํํ ๊ฐ์ ํฌํจํ๋ ์ต์ข
์๋ต์ `response_model`๋ก ํํฐ๋ง๋ ๊ฐ์ ๋ฃ์ต๋๋ค. |
|||
|
|||
๋ํ, ์ข
์์ฑ์์ `Response` ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ธํ๊ณ ๊ทธ ์์์ ํค๋(๋ฐ ์ฟ ํค)๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. |
|||
|
|||
## `Response` ์ง์ ๋ฐํํ๊ธฐ |
|||
|
|||
`Response`๋ฅผ ์ง์ ๋ฐํํ ๋์๋ ํค๋๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. |
|||
|
|||
[์๋ต์ ์ง์ ๋ฐํํ๊ธฐ](response-directly.md){.internal-link target=_blank}์์ ์ค๋ช
ํ ๋๋ก ์๋ต์ ์์ฑํ๊ณ , ํค๋๋ฅผ ์ถ๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌํ์ธ์. |
|||
|
|||
```Python hl_lines="10-12" |
|||
{!../../docs_src/response_headers/tutorial001.py!} |
|||
``` |
|||
|
|||
/// note | "๊ธฐ์ ์ ์ธ๋ถ์ฌํญ" |
|||
|
|||
`from starlette.responses import Response`๋ `from starlette.responses import JSONResponse`๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. |
|||
|
|||
**FastAPI**๋ `starlette.responses`๋ฅผ `fastapi.responses`๋ก ๊ฐ๋ฐ์์ ํธ์๋ฅผ ์ํด ์ง์ ์ ๊ณตํ์ง๋ง, ๋๋ถ๋ถ์ ์๋ต์ Starlette์์ ์ง์ ์ ๊ณต๋ฉ๋๋ค. |
|||
|
|||
๊ทธ๋ฆฌ๊ณ `Response`๋ ํค๋์ ์ฟ ํค๋ฅผ ์ค์ ํ๋ ๋ฐ ์์ฃผ ์ฌ์ฉ๋ ์ ์์ผ๋ฏ๋ก, **FastAPI**๋ `fastapi.Response`๋ก๋ ์ด๋ฅผ ์ ๊ณตํฉ๋๋ค. |
|||
|
|||
/// |
|||
|
|||
## ์ปค์คํ
ํค๋ |
|||
|
|||
<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers" class="external-link" target="_blank">โX-โ ์ ๋์ด๋ฅผ ์ฌ์ฉํ์ฌ</a> ์ปค์คํ
์ฌ์ค ํค๋๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. |
|||
|
|||
ํ์ง๋ง, ์ฌ๋ฌ๋ถ์ด ๋ธ๋ผ์ฐ์ ์์ ํด๋ผ์ด์ธํธ๊ฐ ๋ณผ ์ ์๊ธฐ๋ฅผ ์ํ๋ ์ปค์คํ
ํค๋๊ฐ ์๋ ๊ฒฝ์ฐ, CORS ์ค์ ์ ์ด๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค([CORS (Cross-Origin Resource Sharing)](../tutorial/cors.md){.internal-link target=_blank}์์ ์์ธํ ์์๋ณด์ธ์). `expose_headers` ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ <a href="https://www.starlette.io/middleware/#corsmiddleware" class="external-link" target="_blank">Starlette์ CORS ์ค๋ช
์</a>์ ๋ฌธ์ํ๋ ๋๋ก ์ค์ ํ ์ ์์ต๋๋ค. |
Loadingโฆ
Reference in new issue