]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🌐 Add Korean translation for `docs/ko/docs/tutorial/request-forms.md` (#13003)
authorhy.lee <rurouni24@gmail.com>
Mon, 9 Dec 2024 12:42:55 +0000 (21:42 +0900)
committerGitHub <noreply@github.com>
Mon, 9 Dec 2024 12:42:55 +0000 (12:42 +0000)
docs/ko/docs/tutorial/request-forms.md [new file with mode: 0644]

diff --git a/docs/ko/docs/tutorial/request-forms.md b/docs/ko/docs/tutorial/request-forms.md
new file mode 100644 (file)
index 0000000..5ca17b0
--- /dev/null
@@ -0,0 +1,74 @@
+# νΌ λ°μ΄ν„°
+
+JSON λŒ€μ‹  νΌ ν•„λ“œλ₯Ό λ°›μ•„μ•Ό ν•˜λŠ” κ²½μš° `Form`을 μ‚¬μš©ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
+
+/// info | μ •보
+
+폼을 μ‚¬μš©ν•˜λ €λ©΄, λ¨Όμ € <a href="https://github.com/Kludex/python-multipart" class="external-link" target="_blank">`python-multipart`</a>λ₯Ό μ„€μΉ˜ν•˜μ„Έμš”.
+
+[가상 ν™˜κ²½](../virtual-environments.md){.internal-link target=_blank}을 μƒμ„±ν•˜κ³  ν™œμ„±ν™”ν•œ λ‹€μŒ, μ•„λž˜μ™€ κ°™μ΄ μ„€μΉ˜ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€:
+
+```console
+$ pip install python-multipart
+```
+
+///
+
+## `Form` μž„ν¬νŠΈν•˜κΈ°
+
+`fastapi`μ—μ„œ `Form`을 μž„ν¬νŠΈν•©λ‹ˆλ‹€:
+
+{* ../../docs_src/request_forms/tutorial001_an_py39.py hl[3] *}
+
+## `Form` λ§€κ°œλ³€μˆ˜ μ •μ˜ν•˜κΈ°
+
+`Body` λ˜λŠ” `Query`와 λ™μΌν•œ λ°©μ‹μœΌλ‘œ νΌ λ§€κ°œλ³€μˆ˜λ₯Ό λ§Œλ“­λ‹ˆλ‹€:
+
+{* ../../docs_src/request_forms/tutorial001_an_py39.py hl[9] *}
+
+예λ₯Ό λ“€μ–΄, OAuth2 μ‚¬μ–‘을 μ‚¬μš©ν•  μˆ˜ μžˆλŠ” λ°©λ²• μ€‘ ν•˜λ‚˜("νŒ¨μŠ€μ›Œλ“œ ν”Œλ‘œμš°"라고 ν•¨)둜 `username`κ³Ό `password`λ₯Ό νΌ ν•„λ“œλ‘œ λ³΄λ‚΄μ•Ό ν•©λ‹ˆλ‹€.
+
+<abbr title="specification">사양</abbr>μ—μ„œλŠ” ν•„λ“œ μ΄λ¦„이 `username` λ° `password`둜 μ •ν™•ν•˜κ²Œ λͺ…λͺ…λ˜μ–΄μ•Ό ν•˜κ³ , JSON이 μ•„λ‹Œ νΌ ν•„λ“œλ‘œ μ „솑해야 ν•©λ‹ˆλ‹€.
+
+`Form`을 μ‚¬μš©ν•˜λ©΄ μœ νš¨μ„± κ²€μ‚¬, μ˜ˆμ œ, λ³„μΉ­(예: `username` λŒ€μ‹  `user-name`) λ“±μ„ ν¬ν•¨ν•˜μ—¬ `Body`(및 `Query`, `Path`, `Cookie`)와 λ™μΌν•œ κ΅¬μ„±μ„ μ„ μ–Έν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.
+
+/// info | μ •보
+
+`Form`은 `Body`μ—μ„œ μ§μ ‘ μƒμ†λ˜λŠ” ν΄λž˜μŠ€μž…λ‹ˆλ‹€.
+
+///
+
+/// tip | νŒ
+
+폼 λ³Έλ¬Έμ„ μ„ μ–Έν•  λ•Œ, νΌμ΄ μ—†μœΌλ©΄ λ§€κ°œλ³€μˆ˜κ°€ μΏΌλ¦¬ λ§€κ°œλ³€μˆ˜λ‚˜ λ³Έλ¬Έ(JSON) λ§€κ°œλ³€μˆ˜λ‘œ ν•΄μ„(interpret)되기 λ•Œλ¬Έμ— `Form`을 λͺ…μ‹œμ μœΌλ‘œ μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.
+
+///
+
+## "폼 ν•„λ“œ"에 λŒ€ν•΄
+
+HTML νΌ(`<form></form>`)이 λ°μ΄ν„°λ₯Ό μ„œλ²„λ‘œ λ³΄λ‚΄λŠ” λ°©μ‹μ€ μΌλ°˜μ μœΌλ‘œ ν•΄λ‹Ή λ°μ΄ν„°μ— λŒ€ν•΄ "특수" μΈμ½”딩을 μ‚¬μš©ν•˜λ©°, μ΄λŠ” JSONκ³Ό λ‹€λ¦…λ‹ˆλ‹€.
+
+**FastAPI**λŠ” JSON λŒ€μ‹  μ˜¬λ°”λ₯Έ μœ„μΉ˜μ—μ„œ ν•΄λ‹Ή λ°μ΄ν„°λ₯Ό μ½μŠ΅λ‹ˆλ‹€.
+
+/// note | κΈ°μˆ  μ„ΈλΆ€μ‚¬ν•­
+
+폼의 λ°μ΄ν„°λŠ” μΌλ°˜μ μœΌλ‘œ "λ―Έλ””μ–΄ μœ ν˜•(media type)" `application/x-www-form-urlencoded`λ₯Ό μ‚¬μš©ν•˜μ—¬ μΈμ½”λ”©ν•©λ‹ˆλ‹€.
+
+κ·ΈλŸ¬λ‚˜ νΌμ— νŒŒμΌμ΄ ν¬ν•¨λœ κ²½μš°, `multipart/form-data`둜 μΈμ½”λ”©ν•©λ‹ˆλ‹€. λ‹€μŒ μž₯μ—μ„œ νŒŒμΌ μ²˜λ¦¬μ— λŒ€ν•΄ μ½μ„ κ²λ‹ˆλ‹€.
+
+
+μ΄λŸ¬ν•œ μΈμ½”λ”© λ° νΌ ν•„λ“œμ— λŒ€ν•΄ λ” μ½κ³  μ‹Άλ‹€λ©΄, <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST" class="external-link" target="_blank"><code>POST</code>에 λŒ€ν•œ <abbr title="Mozilla Developer Network">MDN</a> μ›Ή λ¬Έμ„œλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.
+
+///
+
+/// warning | κ²½κ³ 
+
+*경둜 μž‘μ—…*μ—μ„œ μ—¬λŸ¬ `Form` λ§€κ°œλ³€μˆ˜λ₯Ό μ„ μ–Έν•  μˆ˜ μžˆμ§€λ§Œ, JSON으둜 μˆ˜μ‹ ν•  κ²ƒμœΌλ‘œ μ˜ˆμƒλ˜λŠ” `Body` ν•„λ“œμ™€ ν•¨κ»˜ μ„ μ–Έν•  μˆ˜ μ—†μŠ΅λ‹ˆλ‹€. μš”μ²­ λ³Έλ¬Έμ€ `application/json` λŒ€μ‹ μ— `application/x-www-form-urlencoded`λ₯Ό μ‚¬μš©ν•˜μ—¬ μΈμ½”λ”©λ˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.
+
+μ΄λŠ” **FastAPI**의 μ œν•œ μ‚¬ν•­μ΄ μ•„λ‹ˆλ©° HTTP ν”„λ‘œν† μ½œμ˜ μΌλΆ€μž…λ‹ˆλ‹€.
+
+///
+
+## μš”μ•½
+
+폼 λ°μ΄ν„° μž…λ ₯ λ§€κ°œλ³€μˆ˜λ₯Ό μ„ μ–Έν•˜λ €λ©΄ `Form`을 μ‚¬μš©ν•˜μ„Έμš”.