<a href="https://typer.tiangolo.com" target="_blank"><img src="https://typer.tiangolo.com/img/logo-margin/logo-margin-vector.svg" style="width: 20%;"></a>
-ì\9b¹ API ë\8c\80ì\8b í\84°ë¯¸ë\84\90ì\97\90ì\84\9c ì\82¬ì\9a©í\95 <abbr title="Command Line Interface">CLI</abbr> ì\95±ì\9d\84 ë§\8cë\93¤ê³ ì\9e\88ë\8b¤ë©´, <a href="https://typer.tiangolo.com/" class="external-link" target="_blank">**Typer**</a>를 í\99\95ì\9d¸í\95´ ë³´ì\84¸ì\9a\94.
+ì\9b¹ API ë\8c\80ì\8b í\84°ë¯¸ë\84\90ì\97\90ì\84\9c ì\82¬ì\9a©í\95 <abbr title="Command Line Interface">CLI</abbr> ì\95±ì\9d\84 ë§\8cë\93¤ê³ ì\9e\88ë\8b¤ë©´, <a href="https://typer.tiangolo.com/" class="external-link" target="_blank">**Typer**</a>를 í\99\95ì\9d¸í\95´ ë³´ì\8bì\8b\9cì\98¤.
**Typer**는 FastAPI의 동생입니다. 그리고 **FastAPI의 CLI**가 되기 위해 생겼습니다. ⌨️ 🚀
### 만들기
-* `main.py` í\8c\8cì\9d¼ì\9d\84 ë§\8cë\93\9cì\84¸ì\9a\94:
+* `main.py` í\8c\8cì\9d¼ì\9d\84 ë§\8cë\93\9cì\8bì\8b\9cì\98¤:
```Python
from typing import Optional
<details markdown="1">
<summary>또는 <code>async def</code> 사용하기...</summary>
-ì\97¬ë\9f¬ë¶\84ì\9d\98 ì½\94ë\93\9cê°\80 `async` / `await`ì\9d\84 ì\82¬ì\9a©í\95\9cë\8b¤ë©´, `async def`를 ì\82¬ì\9a©í\95\98ì\84¸ì\9a\94:
+ì\97¬ë\9f¬ë¶\84ì\9d\98 ì½\94ë\93\9cê°\80 `async` / `await`ì\9d\84 ì\82¬ì\9a©í\95\9cë\8b¤ë©´, `async def`를 ì\82¬ì\9a©í\95\98ì\8bì\8b\9cì\98¤.
```Python hl_lines="9 14"
from typing import Optional
**Note**:
-ì\9e\98 ëª¨ë¥´ê² ë\8b¤ë©´, <a href="https://fastapi.tiangolo.com/async/#in-a-hurry" target="_blank">문ì\84\9cì\97\90ì\84\9c `async`ì\99\80 `await`</a>ì\97\90 ê´\80í\95\9c _"ê¸\89í\95\98ì\84¸ì\9a\94?"_ ì\84¹ì\85\98ì\9d\84 í\99\95ì\9d¸í\95´ ë³´ì\84¸ì\9a\94.
+ì\9e\98 ëª¨ë¥´ê² ë\8b¤ë©´, <a href="https://fastapi.tiangolo.com/async/#in-a-hurry" target="_blank">문ì\84\9cì\97\90ì\84\9c `async`ì\99\80 `await`</a>ì\97\90 ê´\80í\95\9c _"ê¸\89í\95\98ì\84¸ì\9a\94?"_ ì\84¹ì\85\98ì\9d\84 í\99\95ì\9d¸í\95´ ë³´ì\8bì\8b\9cì\98¤.
</details>
* `main`: `main.py` 파일 (파이썬 "모듈").
* `app`: the object created inside of `main.py` with the line `app = FastAPI()`.
-* `--reload`: ì½\94ë\93\9cê°\80 ë³\80ê²½ë\90\9c í\9b\84 ì\84\9cë²\84 ì\9e¬ì\8b\9cì\9e\91í\95\98기. ê°\9cë°\9cí\99\98ê²½ì\97\90ì\84\9cë§\8c ì\82¬ì\9a©í\95\98ì\84¸ì\9a\94.
+* `--reload`: ì½\94ë\93\9cê°\80 ë³\80ê²½ë\90\9c í\9b\84 ì\84\9cë²\84 ì\9e¬ì\8b\9cì\9e\91í\95\98기. ê°\9cë°\9cí\99\98ê²½ì\97\90ì\84\9cë§\8c ì\82¬ì\9a©í\95\98ì\8bì\8b\9cì\98¤.
</details>
### 확인하기
-ë¸\8cë\9d¼ì\9a°ì \80ë¡\9c <a href="http://127.0.0.1:8000/items/5?q=somequery" class="external-link" target="_blank">http://127.0.0.1:8000/items/5?q=somequery</a>를 ì\97´ì\96´ë³´ì\84¸ì\9a\94.
+ë¸\8cë\9d¼ì\9a°ì \80ë¡\9c <a href="http://127.0.0.1:8000/items/5?q=somequery" class="external-link" target="_blank">http://127.0.0.1:8000/items/5?q=somequery</a>를 ì\97´ì\96´ë³´ì\8bì\8b\9cì\98¤.
아래의 JSON 응답을 볼 수 있습니다:
### 대안 API 문서
-ê·¸ë¦¬ê³ ì\9d´ì \9c <a href="http://127.0.0.1:8000/redoc" class="external-link" target="_blank">http://127.0.0.1:8000/redoc</a>ë¡\9c ê°\80ë³´ì\84¸ì\9a\94.
+ê·¸ë¦¬ê³ ì\9d´ì \9c <a href="http://127.0.0.1:8000/redoc" class="external-link" target="_blank">http://127.0.0.1:8000/redoc</a>ë¡\9c ê°\80ë´\85ì\8b\9cë\8b¤.
다른 자동 문서를 볼 수 있습니다(<a href="https://github.com/Rebilly/ReDoc" class="external-link" target="_blank">ReDoc</a> 제공):

-## 예제 개선
+## 예제 심화
이제 `PUT` 요청에 있는 본문(Body)을 받기 위해 `main.py`를 수정해봅시다.
### 요약
-ì\9a\94ì\95½í\95\98ë©´, ì\97¬ë\9f¬ë¶\84ì\9d\80 매ê°\9cë³\80ì\88\98ì\9d\98 í\83\80ì\9e\85, 본문 ë\93±ì\9d\84 í\95¨ì\88\98 매ê°\9cë³\80ì\88\98ë¡\9cì\8d¨ **한번에** 선언했습니다.
+ì\9a\94ì\95½í\95\98ë©´, ì\97¬ë\9f¬ë¶\84ì\9d\80 매ê°\9cë³\80ì\88\98ì\9d\98 í\83\80ì\9e\85, 본문 ë\93±ì\9d\84 í\95¨ì\88\98 매ê°\9cë³\80ì\88\98ë¡\9cì\84\9c **한번에** 선언했습니다.
여러분은 현대 표준 파이썬 타입으로 이를 행했습니다.
* `price`을 필수 속성으로 갖고 `float` 형인지 검사.
* 만약 주어진다면, `is_offer`를 선택 속성으로 갖고 `bool` 형인지 검사.
* 이 모든 것은 깊이 중첩된 JSON 객체에도 적용됩니다.
-* JSONì\9c¼ë¡\9c, ê·¸ë¦¬ê³ ì\97\90ì\84\9cë¶\80í\84° ì\9e\90ë\8f\99 ë³\80í\99\98.
+* JSONì\9d\84 ë³\80í\99\98í\95\98ê±°ë\82\98 JSONì\9c¼ë¡\9c ë³\80í\99\98í\95\98ë\8a\94 ê²\83ì\9d\84 ì\9e\90ë\8f\99í\99\94.
* 다음에서 사용할 수 있는 모든 것을 OpenAPI로 문서화:
* 대화형 문서 시스템.
* 여러 언어들에 대한 자동 클라이언트 코드 생성 시스템.
... "item_price": item.price ...
```
-...ê·¸ë\9f¬ê³ ë\82\98ì\84\9c ì\97¬ë\9f¬ë¶\84ì\9d\98 í\8e¸ì§\91기ê°\80 ì\86\8dì\84±ê³¼ í\83\80ì\9e\85ì\9d\84 ì\95\8cê³ ì\9e\90ë\8f\99 ì\99\84ì\84±í\95\98ë\8a\94ì§\80 ë³´ì\84¸ì\9a\94:
+...ê·¸ë\9f¬ê³ ë\82\98ì\84\9c ì\97¬ë\9f¬ë¶\84ì\9d\98 í\8e¸ì§\91기ê°\80 ì\86\8dì\84±ê³¼ í\83\80ì\9e\85ì\9d\84 ì\95\8cê³ ì\9e\90ë\8f\99 ì\99\84ì\84±í\95\98ë\8a\94ì§\80 ë³´ì\8bì\8b\9cì\98¤:

-ë\8d\94 ë§\8eì\9d\80 기ë\8a¥ì\9d\84 í\8f¬í\95¨í\95\9c ë³´ë\8b¤ ì\99\84ì \84í\95\9c ì\98\88ì \9cì\9d\98 ê²½ì\9a°, <a href="https://fastapi.tiangolo.com/tutorial/">í\8a\9cí\86 리ì\96¼ - ì\82¬ì\9a©ì\9e\90 ê°\80ì\9d´ë\93\9c</a>를 ë³´ì\84¸ì\9a\94.
+ë\8d\94 ë§\8eì\9d\80 기ë\8a¥ì\9d\84 í\8f¬í\95¨í\95\9c ë³´ë\8b¤ ì\99\84ì \84í\95\9c ì\98\88ì \9cì\9d\98 ê²½ì\9a°, <a href="https://fastapi.tiangolo.com/tutorial/">í\8a\9cí\86 리ì\96¼ - ì\82¬ì\9a©ì\9e\90 ê°\80ì\9d´ë\93\9c</a>를 ë³´ì\8bì\8b\9cì\98¤.
**스포일러 주의**: 튜토리얼 - 사용자 가이드는:
독립된 TechEmpower 벤치마크에서 Uvicorn에서 작동하는 FastAPI 어플리케이션이 <a href="https://www.techempower.com/benchmarks/#section=test&runid=7464e520-0dc2-473d-bd34-dbdfd7e85911&hw=ph&test=query&l=zijzen-7" class="external-link" target="_blank">사용 가능한 가장 빠른 프레임워크 중 하나</a>로 Starlette와 Uvicorn(FastAPI에서 내부적으로 사용)에만 밑돌고 있습니다. (*)
-ì\9e\90ì\84¸í\95\9c ë\82´ì\9a©ì\9d\80 <a href="https://fastapi.tiangolo.com/benchmarks/" class="internal-link" target="_blank">벤ì¹\98ë§\88í\81¬</a> ì\84¹ì\85\98ì\9d\84 ë³´ì\84¸ì\9a\94.
+ì\9e\90ì\84¸í\95\9c ë\82´ì\9a©ì\9d\80 <a href="https://fastapi.tiangolo.com/benchmarks/" class="internal-link" target="_blank">벤ì¹\98ë§\88í\81¬</a> ì\84¹ì\85\98ì\9d\84 ë³´ì\8bì\8b\9cì\98¤.
-## ì\84 í\83\9dê°\80ë\8a¥í\95\9c ì¢\85ì\86\8dì\82¬í\95
+## ì\84 í\83\9dê°\80ë\8a¥í\95\9c ì\9d\98ì¡´ì\84±
Pydantic이 사용하는: