committed by
GitHub
1 changed files with 41 additions and 0 deletions
@ -0,0 +1,41 @@ |
|||
# ์ถ๊ฐ ์ํ ์ฝ๋ |
|||
|
|||
๊ธฐ๋ณธ์ ์ผ๋ก **FastAPI**๋ ์๋ต์ `JSONResponse`๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐํํ๋ฉฐ, *๊ฒฝ๋ก ์์
(path operation)*์์ ๋ฐํํ ๋ด์ฉ์ ํด๋น `JSONResponse` ์์ ๋ฃ์ด ๋ฐํํฉ๋๋ค. |
|||
|
|||
๊ธฐ๋ณธ ์ํ ์ฝ๋ ๋๋ *๊ฒฝ๋ก ์์
*์์ ์ค์ ํ ์ํ ์ฝ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. |
|||
|
|||
## ์ถ๊ฐ ์ํ ์ฝ๋ |
|||
|
|||
๊ธฐ๋ณธ ์ํ ์ฝ๋์ ๋ณ๋๋ก ์ถ๊ฐ ์ํ ์ฝ๋๋ฅผ ๋ฐํํ๋ ค๋ฉด `JSONResponse`์ ๊ฐ์ด `Response`๋ฅผ ์ง์ ๋ฐํํ๊ณ ์ถ๊ฐ ์ํ ์ฝ๋๋ฅผ ์ง์ ์ค์ ํ ์ ์์ต๋๋ค. |
|||
|
|||
์๋ฅผ ๋ค์ด ํญ๋ชฉ์ ์
๋ฐ์ดํธํ ์ ์๋ *๊ฒฝ๋ก ์์
*์ด ์๊ณ ์ฑ๊ณต ์ 200 โOKโ์ HTTP ์ํ ์ฝ๋๋ฅผ ๋ฐํํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. |
|||
|
|||
ํ์ง๋ง ์๋ก์ด ํญ๋ชฉ์ ํ์ฉํ๊ธฐ๋ฅผ ์ํ ๊ฒ์
๋๋ค. ํญ๋ชฉ์ด ์ด์ ์ ์กด์ฌํ์ง ์์๋ค๋ฉด ์ด๋ฅผ ์์ฑํ๊ณ HTTP ์ํ ์ฝ๋ 201 "Created"๋ฅผ ๋ฐํํฉ๋๋ค. |
|||
|
|||
์ด๋ฅผ ์ํด์๋ `JSONResponse`๋ฅผ ๊ฐ์ ธ์์ ์ํ๋ `status_code`๋ฅผ ์ค์ ํ์ฌ ์ฝํ
์ธ ๋ฅผ ์ง์ ๋ฐํํฉ๋๋ค: |
|||
|
|||
{* ../../docs_src/additional_status_codes/tutorial001_an_py310.py hl[4,25] *} |
|||
|
|||
/// warning | ๊ฒฝ๊ณ |
|||
|
|||
์์ ์์ ์ฒ๋ผ `Response`๋ฅผ ์ง์ ๋ฐํํ๋ฉด ๋ฐ๋ก ๋ฐํ๋ฉ๋๋ค. |
|||
|
|||
๋ชจ๋ธ ๋ฑ๊ณผ ํจ๊ป ์ง๋ ฌํ๋์ง ์์ต๋๋ค. |
|||
|
|||
์ํ๋ ๋ฐ์ดํฐ๊ฐ ์๋์ง, ๊ฐ์ด ์ ํจํ JSON์ธ์ง ํ์ธํฉ๋๋ค(`JSONResponse`๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ). |
|||
|
|||
/// |
|||
|
|||
/// note | ๊ธฐ์ ์ ์ธ๋ถ ์ ๋ณด |
|||
|
|||
`from starlette.responses import JSONResponse`๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. |
|||
|
|||
**FastAPI**๋ ๊ฐ๋ฐ์ ์ฌ๋ฌ๋ถ์ ์ํ ํธ์์ฑ์ผ๋ก `fastapi.responses`์ ๋์ผํ `starlette.responses`๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฌ์ฉ ๊ฐ๋ฅํ ์๋ต์ ๋๋ถ๋ถ์ Starlette์์ ์ง์ ์ ๊ณต๋ฉ๋๋ค. `status` ๋ํ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค. |
|||
|
|||
/// |
|||
|
|||
## OpenAPI ๋ฐ API ๋ฌธ์ |
|||
|
|||
์ถ๊ฐ ์ํ ์ฝ๋์ ์๋ต์ ์ง์ ๋ฐํํ๋ ๊ฒฝ์ฐ, FastAPI๋ ๋ฐํํ ๋ด์ฉ์ ๋ฏธ๋ฆฌ ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์ OpenAPI ์คํค๋ง(API ๋ฌธ์)์ ํฌํจ๋์ง ์์ต๋๋ค. |
|||
|
|||
ํ์ง๋ง ๋ค์์ ์ฌ์ฉํ์ฌ ์ฝ๋์ ์ด๋ฅผ ๋ฌธ์ํํ ์ ์์ต๋๋ค: [์ถ๊ฐ ์๋ต](additional-responses.md){.internal-link target=_blank}. |
Loadingโฆ
Reference in new issue