Browse Source

๐ŸŒ Add Korean translation for Tutorial - JSON Compatible Encoder (#3152)

pull/4272/head
Kwang Soo Jeong 3 years ago
committed by GitHub
parent
commit
461e0d4cce
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 34
      docs/ko/docs/tutorial/encoder.md

34
docs/ko/docs/tutorial/encoder.md

@ -0,0 +1,34 @@
# JSON ํ˜ธํ™˜ ๊ฐ€๋Šฅ ์ธ์ฝ”๋”
๋ฐ์ดํ„ฐ ์œ ํ˜•(์˜ˆ: Pydantic ๋ชจ๋ธ)์„ JSON๊ณผ ํ˜ธํ™˜๋œ ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. (์˜ˆ: `dict`, `list` ๋“ฑ)
์˜ˆ๋ฅผ ๋“ค๋ฉด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.
์ด๋ฅผ ์œ„ํ•ด, **FastAPI** ์—์„œ๋Š” `jsonable_encoder()` ํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
## `jsonable_encoder` ์‚ฌ์šฉ
JSON ํ˜ธํ™˜ ๊ฐ€๋Šฅ ๋ฐ์ดํ„ฐ๋งŒ ์ˆ˜์‹ ํ•˜๋Š” `fake_db` ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์กด์žฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค๋ฉด, `datetime` ๊ฐ์ฒด๋Š” JSON๊ณผ ํ˜ธํ™˜๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ์ด ๋ฐ์ดํ„ฐ๋Š” ๋ฐ›์•„๋“ค์—ฌ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ `datetime` ๊ฐ์ฒด๋Š” <a href="https://en.wikipedia.org/wiki/ISO_8601" class="external-link" target="_blank">ISO format</a> ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜๋Š” `str`๋กœ ๋ณ€ํ™˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” Pydantic ๋ชจ๋ธ(์†์„ฑ์ด ์žˆ๋Š” ๊ฐ์ฒด)์„ ๋ฐ›์ง€ ์•Š๊ณ , `dict` ๋งŒ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.
์ด๋ฅผ ์œ„ํ•ด `jsonable_encoder` ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Pydantic ๋ชจ๋ธ๊ณผ ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ๋ฐ›๊ณ  JSON ํ˜ธํ™˜ ๊ฐ€๋Šฅํ•œ ๋ฒ„์ „์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค:
```Python hl_lines="5 22"
{!../../../docs_src/encoder/tutorial001.py!}
```
์ด ์˜ˆ์‹œ๋Š” Pydantic ๋ชจ๋ธ์„ `dict`๋กœ, `datetime` ํ˜•์‹์„ `str`๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ํ˜ธ์ถœํ•œ ๊ฒฐ๊ณผ๋Š” ํŒŒ์ด์ฌ ํ‘œ์ค€์ธ <a href="https://docs.python.org/3/library/json.html#json.dumps" class="external-link" target="_blank">`json.dumps()`</a>๋กœ ์ธ์ฝ”๋”ฉ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธธ์ด๊ฐ€ ๊ธด ๋ฌธ์ž์—ด ํ˜•ํƒœ์˜ JSON ํ˜•์‹(๋ฌธ์ž์—ด)์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋Š” ์ƒํ™ฉ์—์„œ๋Š” `str`๋กœ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. JSON๊ณผ ๋ชจ๋‘ ํ˜ธํ™˜๋˜๋Š” ๊ฐ’๊ณผ ํ•˜์œ„ ๊ฐ’์ด ์žˆ๋Š” Python ํ‘œ์ค€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ (์˜ˆ: `dict`)๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
!!! note "์ฐธ๊ณ "
์‹ค์ œ๋กœ `jsonable_encoder`๋Š” **FastAPI** ์—์„œ ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ๋‹ค๋ฅธ ๋งŽ์€ ๊ณณ์—์„œ๋„ ์ด๋Š” ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
Loadingโ€ฆ
Cancel
Save