]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🌐 Add Korean translation for `docs/ko/docs/advanced/response-directly.md` (#12674)
authornamjimin_43 <mimi3123832@gmail.com>
Wed, 30 Oct 2024 20:00:57 +0000 (05:00 +0900)
committerGitHub <noreply@github.com>
Wed, 30 Oct 2024 20:00:57 +0000 (20:00 +0000)
docs/ko/docs/advanced/response-directly.md [new file with mode: 0644]

diff --git a/docs/ko/docs/advanced/response-directly.md b/docs/ko/docs/advanced/response-directly.md
new file mode 100644 (file)
index 0000000..20389ff
--- /dev/null
@@ -0,0 +1,67 @@
+# μ‘닡을 μ§μ ‘ λ°˜ν™˜ν•˜κΈ°
+
+**FastAPI**μ—μ„œ *경둜 μž‘μ—…(path operation)*을 μƒμ„±ν•  λ•Œ, μΌλ°˜μ μœΌλ‘œ `dict`, `list`, Pydantic λͺ¨λΈ, λ°μ΄ν„°λ² μ΄μŠ€ λͺ¨λΈ λ“±μ˜ λ°μ΄ν„°λ₯Ό λ°˜ν™˜ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
+
+기본적으둜 **FastAPI**λŠ” [JSON ν˜Έν™˜ κ°€λŠ₯ μΈμ½”더](../tutorial/encoder.md){.internal-link target=_blank}에 μ„€λͺ…λœ `jsonable_encoder`λ₯Ό μ‚¬μš©ν•΄ ν•΄λ‹Ή λ°˜ν™˜ κ°’을 μžλ™μœΌλ‘œ `JSON`으둜 λ³€ν™˜ν•©λ‹ˆλ‹€.
+
+그런 λ‹€μŒ, JSON ν˜Έν™˜ λ°μ΄ν„°(예: `dict`)λ₯Ό `JSONResponse`에 λ„£μ–΄ μ‚¬μš©μžμ˜ μ‘닡을 μ „μ†‘ν•˜λŠ” λ°©μ‹μœΌλ‘œ μ²˜λ¦¬λ©λ‹ˆλ‹€.
+
+κ·ΈλŸ¬λ‚˜ *경둜 μž‘μ—…*μ—μ„œ `JSONResponse`λ₯Ό μ§μ ‘ λ°˜ν™˜ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
+
+예λ₯Ό λ“€μ–΄, μ‚¬μš©μž μ •μ˜ ν—€λ”λ‚˜ μΏ ν‚€λ₯Ό λ°˜ν™˜ν•΄μ•Ό ν•˜λŠ” κ²½μš°μ— μœ μš©ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
+
+## `Response` λ°˜ν™˜ν•˜κΈ°
+
+사싀, `Response` λ˜λŠ” κ·Έ ν•˜μœ„ ν΄λž˜μŠ€λ₯Ό λ°˜ν™˜ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
+
+/// tip
+
+`JSONResponse` μžμ²΄λ„ `Response`의 ν•˜μœ„ ν΄λž˜μŠ€μž…λ‹ˆλ‹€.
+
+///
+
+그리고 `Response`λ₯Ό λ°˜ν™˜ν•˜λ©΄ **FastAPI**κ°€ μ΄λ₯Ό κ·ΈλŒ€λ‘œ μ „λ‹¬ν•©λ‹ˆλ‹€.
+
+Pydantic λͺ¨λΈλ‘œ λ°μ΄ν„° λ³€ν™˜μ„ μˆ˜ν–‰ν•˜μ§€ μ•ŠμœΌλ©°, λ‚΄μš©μ„ λ‹€λ₯Έ ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
+
+이둜 μΈν•΄ λ§Žμ€ μœ μ—°μ„±μ„ μ–»μ„ μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. μ–΄λ–€ λ°μ΄ν„° μœ ν˜•이든 λ°˜ν™˜ν•  μˆ˜ μžˆκ³ , λ°μ΄ν„° μ„ μ–Έμ΄λ‚˜ μœ νš¨μ„± κ²€μ‚¬λ₯Ό μž¬μ •μ˜ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
+
+## `Response`μ—μ„œ `jsonable_encoder` μ‚¬μš©ν•˜κΈ°
+
+**FastAPI**λŠ” λ°˜ν™˜ν•˜λŠ” `Response`에 μ•„λ¬΄λŸ° λ³€ν™˜μ„ ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ, κ·Έ λ‚΄μš©μ΄ μ€€λΉ„λ˜μ–΄ μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.
+
+예λ₯Ό λ“€μ–΄, Pydantic λͺ¨λΈμ„ `dict`둜 λ³€ν™˜ν•΄ `JSONResponse`에 λ„£μ§€ μ•ŠμœΌλ©΄ JSON ν˜Έν™˜ μœ ν˜•μœΌλ‘œ λ³€ν™˜λœ λ°μ΄ν„° μœ ν˜•(예: `datetime`, `UUID` λ“±)이 μ‚¬μš©λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
+
+μ΄λŸ¬ν•œ κ²½μš°, λ°μ΄ν„°λ₯Ό μ‘닡에 μ „λ‹¬ν•˜κΈ° μ „에 `jsonable_encoder`λ₯Ό μ‚¬μš©ν•˜μ—¬ λ³€ν™˜ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€:
+
+```Python hl_lines="6-7 21-22"
+{!../../docs_src/response_directly/tutorial001.py!}
+```
+
+/// note | "기술적 μ„ΈλΆ€ μ‚¬ν•­"
+
+`from starlette.responses import JSONResponse`λ₯Ό μ‚¬μš©ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
+
+**FastAPI**λŠ” κ°œλ°œμžμ˜ νŽΈμ˜λ₯Ό μœ„ν•΄ `starlette.responses`λ₯Ό `fastapi.responses`둜 μ œκ³΅ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λŒ€λΆ€λΆ„μ˜ κ°€λŠ₯ν•œ μ‘닡은 Starletteμ—μ„œ μ§μ ‘ μ œκ³΅ν•©λ‹ˆλ‹€.
+
+///
+
+## μ‚¬μš©μž μ •μ˜ `Response` λ°˜ν™˜ν•˜κΈ°
+μœ„ μ˜ˆμ œλŠ” ν•„μš”ν•œ λͺ¨λ“  λΆ€λΆ„을 λ³΄μ—¬μ£Όμ§€λ§Œ, μ•„직 μœ μš©ν•˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€. μ‚¬μ‹€ λ°μ΄ν„°λ₯Ό μ§μ ‘ λ°˜ν™˜ν•˜λ©΄ **FastAPI**κ°€ μ΄λ₯Ό `JSONResponse`에 λ„£κ³  `dict`둜 λ³€ν™˜ν•˜λŠ” λ“± λͺ¨λ“  μž‘업을 μžλ™μœΌλ‘œ μ²˜λ¦¬ν•©λ‹ˆλ‹€.
+
+이제, μ‚¬μš©μž μ •μ˜ μ‘닡을 λ°˜ν™˜ν•˜λŠ” λ°©λ²•을 μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.
+
+예λ₯Ό λ“€μ–΄ <a href="https://en.wikipedia.org/wiki/XML" class="external-link" target="_blank">XML</a> μ‘닡을 λ°˜ν™˜ν•˜κ³  μ‹Άλ‹€κ³  κ°€μ •ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.
+
+XML λ‚΄μš©μ„ λ¬Έμžμ—΄μ— λ„£κ³ , μ΄λ₯Ό `Response`에 λ„£μ–΄ λ°˜ν™˜ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€:
+
+```Python hl_lines="1 18"
+{!../../docs_src/response_directly/tutorial002.py!}
+```
+
+## μ°Έκ³  μ‚¬ν•­
+`Response`λ₯Ό μ§μ ‘ λ°˜ν™˜ν•  λ•Œ, κ·Έ λ°μ΄ν„°λŠ” μžλ™μœΌλ‘œ μœ νš¨μ„± κ²€μ‚¬λ˜κ±°λ‚˜, λ³€ν™˜(직렬화)λ˜κ±°λ‚˜, λ¬Έμ„œν™”λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
+
+κ·ΈλŸ¬λ‚˜ [OpenAPIμ—μ„œ μΆ”κ°€ μ‘λ‹΅](additional-responses.md){.internal-link target=_blank}μ—μ„œ μ„€λͺ…λœ λŒ€λ‘œ λ¬Έμ„œν™”ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
+
+이후 λ‹¨λ½μ—μ„œ μžλ™ λ°μ΄ν„° λ³€ν™˜, λ¬Έμ„œν™” λ“±μ„ μ‚¬μš©ν•˜λ©΄μ„œ μ‚¬μš©μž μ •μ˜ `Response`λ₯Ό μ„ μ–Έν•˜λŠ” λ°©λ²•을 ν™•인할 μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.