Browse Source

๐ŸŒ Add Korean translation for `docs/tutorial/response-status-code.md` (#3742)

Co-authored-by: weekwith.me <[email protected]>
Co-authored-by: Sebastiรกn Ramรญrez <[email protected]>
pull/4272/head
Nina Hwang 3 years ago
committed by GitHub
parent
commit
39dbee9d56
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 89
      docs/ko/docs/tutorial/response-status-code.md
  2. 1
      docs/ko/mkdocs.yml

89
docs/ko/docs/tutorial/response-status-code.md

@ -0,0 +1,89 @@
# ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ
์‘๋‹ต ๋ชจ๋ธ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ, ์–ด๋–ค *๊ฒฝ๋กœ ์ž‘๋™*์ด๋“  `status_code` ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‘๋‹ต์— ๋Œ€ํ•œ HTTP ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
* `@app.get()`
* `@app.post()`
* `@app.put()`
* `@app.delete()`
* ๊ธฐํƒ€
```Python hl_lines="6"
{!../../../docs_src/response_status_code/tutorial001.py!}
```
!!! note "์ฐธ๊ณ "
`status_code` ๋Š” "๋ฐ์ฝ”๋ ˆ์ดํ„ฐ" ๋ฉ”์†Œ๋“œ(`get`, `post` ๋“ฑ)์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๋งค๊ฐœ๋ณ€์ˆ˜๋“ค๊ณผ ๋ณธ๋ฌธ์ฒ˜๋Ÿผ *๊ฒฝ๋กœ ์ž‘๋™ ํ•จ์ˆ˜*๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.
`status_code` ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” HTTP ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ์ˆซ์ž๋กœ ์ž…๋ ฅ๋ฐ›์Šต๋‹ˆ๋‹ค.
!!! info "์ •๋ณด"
`status_code` ๋Š” ํŒŒ์ด์ฌ์˜ `http.HTTPStatus` ์™€ ๊ฐ™์€ `IntEnum` ์„ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
`status_code` ๋งค๊ฐœ๋ณ€์ˆ˜๋Š”:
* ์‘๋‹ต์—์„œ ํ•ด๋‹น ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
* ์ƒํƒœ ์ฝ”๋“œ๋ฅผ OpenAPI ์Šคํ‚ค๋งˆ(๋ฐ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค)์— ๋ฌธ์„œํ™” ํ•ฉ๋‹ˆ๋‹ค.
<img src="https://fastapi.tiangolo.com/img/tutorial/response-status-code/image01.png">
!!! note "์ฐธ๊ณ "
์–ด๋–ค ์‘๋‹ต ์ฝ”๋“œ๋“ค์€ ํ•ด๋‹น ์‘๋‹ต์— ๋ณธ๋ฌธ์ด ์—†๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค (๋‹ค์Œ ํ•ญ๋ชฉ ์ฐธ๊ณ ).
์ด์— ๋”ฐ๋ผ FastAPI๋Š” ์‘๋‹ต ๋ณธ๋ฌธ์ด ์—†์Œ์„ ๋ช…์‹œํ•˜๋Š” OpenAPI๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
## HTTP ์ƒํƒœ ์ฝ”๋“œ์— ๋Œ€ํ•˜์—ฌ
!!! note "์ฐธ๊ณ "
๋งŒ์•ฝ HTTP ์ƒํƒœ ์ฝ”๋“œ์— ๋Œ€ํ•˜์—ฌ ์ด๋ฏธ ์•Œ๊ณ ์žˆ๋‹ค๋ฉด, ๋‹ค์Œ ํ•ญ๋ชฉ์œผ๋กœ ๋„˜์–ด๊ฐ€์‹ญ์‹œ์˜ค.
HTTP๋Š” ์„ธ์ž๋ฆฌ์˜ ์ˆซ์ž ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ์‘๋‹ต์˜ ์ผ๋ถ€๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.
์ด ์ƒํƒœ ์ฝ”๋“œ๋“ค์€ ๊ฐ์ž๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์ •๋œ ์ด๋ฆ„์ด ์žˆ์œผ๋‚˜, ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ˆซ์ž ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
์š”์•ฝํ•˜์ž๋ฉด:
* `**1xx**` ์ƒํƒœ ์ฝ”๋“œ๋Š” "์ •๋ณด"์šฉ์ž…๋‹ˆ๋‹ค. ์ด๋“ค์€ ์ง์ ‘์ ์œผ๋กœ๋Š” ์ž˜ ์‚ฌ์šฉ๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ๊ฐ–๋Š” ์‘๋‹ต๋“ค์€ ๋ณธ๋ฌธ์„ ๊ฐ€์งˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
* `**2xx**` ์ƒํƒœ ์ฝ”๋“œ๋Š” "์„ฑ๊ณต์ ์ธ" ์‘๋‹ต์„ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์œ ํ˜•์ž…๋‹ˆ๋‹ค.
* `200` ์€ ๋””ํดํŠธ ์ƒํƒœ ์ฝ”๋“œ๋กœ, ๋ชจ๋“  ๊ฒƒ์ด "์„ฑ๊ณต์ ์ž„"์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
* ๋‹ค๋ฅธ ์˜ˆ๋กœ๋Š” `201` "์ƒ์„ฑ๋จ"์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ƒˆ๋กœ์šด ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•œ ํ›„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
* ๋‹จ, `204` "๋‚ด์šฉ ์—†์Œ"์€ ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐ˜ํ™˜ํ•  ๋‚ด์šฉ์ด ์—†๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‘๋‹ต์€ ๋ณธ๋ฌธ์„ ๊ฐ€์งˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
* `**3xx**` ์ƒํƒœ ์ฝ”๋“œ๋Š” "๋ฆฌ๋‹ค์ด๋ ‰์…˜"์šฉ์ž…๋‹ˆ๋‹ค. ๋ณธ๋ฌธ์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋Š” `304` "์ˆ˜์ •๋˜์ง€ ์•Š์Œ"์„ ์ œ์™ธํ•˜๊ณ , ์ด ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ๊ฐ–๋Š” ์‘๋‹ต์—๋Š” ๋ณธ๋ฌธ์ด ์žˆ์„ ์ˆ˜๋„, ์—†์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
* `**4xx**` ์ƒํƒœ ์ฝ”๋“œ๋Š” "ํด๋ผ์ด์–ธํŠธ ์˜ค๋ฅ˜" ์‘๋‹ต์„ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์•„๋งˆ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ๋‘๋ฒˆ์งธ ์œ ํ˜•์ž…๋‹ˆ๋‹ค.
* ์ผ๋ก€๋กœ `404` ๋Š” "์ฐพ์„ ์ˆ˜ ์—†์Œ" ์‘๋‹ต์„ ์œ„ํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
* ์ผ๋ฐ˜์ ์ธ ํด๋ผ์ด์–ธํŠธ ์˜ค๋ฅ˜์˜ ๊ฒฝ์šฐ `400` ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
* `**5xx**` ์ƒํƒœ ์ฝ”๋“œ๋Š” ์„œ๋ฒ„ ์˜ค๋ฅ˜์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ๋“ค์„ ์ง์ ‘ ์‚ฌ์šฉํ•  ์ผ์€ ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค. ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ๋‚˜ ์„œ๋ฒ„์˜ ์ผ๋ถ€์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ด๋“ค ์ƒํƒœ ์ฝ”๋“œ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
!!! tip "ํŒ"
๊ฐ๊ฐ์˜ ์ƒํƒœ ์ฝ”๋“œ์™€ ์ด๋“ค์ด ์˜๋ฏธํ•˜๋Š” ๋‚ด์šฉ์— ๋Œ€ํ•ด ๋” ์•Œ๊ณ ์‹ถ๋‹ค๋ฉด <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Status" class="external-link" target="_blank"><abbr title="Mozilla Developer Network">MDN</abbr> HTTP ์ƒํƒœ ์ฝ”๋“œ์— ๊ด€ํ•œ ๋ฌธ์„œ</a> ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
## ์ด๋ฆ„์„ ๊ธฐ์–ตํ•˜๋Š” ์‰ฌ์šด ๋ฐฉ๋ฒ•
์ƒ๊ธฐ ์˜ˆ์‹œ ์ฐธ๊ณ :
```Python hl_lines="6"
{!../../../docs_src/response_status_code/tutorial001.py!}
```
`201` ์€ "์ƒ์„ฑ๋จ"๋ฅผ ์˜๋ฏธํ•˜๋Š” ์ƒํƒœ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ๋ชจ๋“  ์ƒํƒœ ์ฝ”๋“œ๋“ค์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ์™ธ์šธ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.
`fastapi.status` ์˜ ํŽธ์˜ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
```Python hl_lines="1 6"
{!../../../docs_src/response_status_code/tutorial002.py!}
```
์ด๊ฒƒ์€ ๋‹จ์ˆœํžˆ ์ž‘์—…์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์œผ๋กœ, HTTP ์ƒํƒœ ์ฝ”๋“œ์™€ ๋™์ผํ•œ ๋ฒˆํ˜ธ๋ฅผ ๊ฐ–๊ณ ์žˆ์ง€๋งŒ, ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŽธ์ง‘๊ธฐ์˜ ์ž๋™์™„์„ฑ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
<img src="https://fastapi.tiangolo.com/img/tutorial/response-status-code/image02.png">
!!! note "๊ธฐ์ˆ ์  ์„ธ๋ถ€์‚ฌํ•ญ"
`from starlette import status` ์—ญ์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
**FastAPI**๋Š” ๊ฐœ๋ฐœ์ž์ธ ๋‹น์‹ ์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด `fastapi.status` ์™€ ๋™์ผํ•œ `starlette.status` ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ Starlette๋กœ๋ถ€ํ„ฐ ์ง์ ‘ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
## ๊ธฐ๋ณธ๊ฐ’ ๋ณ€๊ฒฝ
์ถ”ํ›„ ์—ฌ๊ธฐ์„œ ์„ ์–ธํ•˜๋Š” ๊ธฐ๋ณธ ์ƒํƒœ ์ฝ”๋“œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ [์ˆ™๋ จ๋œ ์‚ฌ์šฉ์ž ์ง€์นจ์„œ](https://fastapi.tiangolo.com/ko/advanced/response-change-status-code/){.internal-link target=_blank}์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
docs/ko/mkdocs.yml

@ -62,6 +62,7 @@ nav:
- tutorial/query-params.md
- tutorial/header-params.md
- tutorial/path-params-numeric-validations.md
- tutorial/response-status-code.md
markdown_extensions:
- toc:
permalink: true

Loadingโ€ฆ
Cancel
Save