From e2ca08a0706a2c2d83972438566ad1908ee5f6ac Mon Sep 17 00:00:00 2001 From: NinaHwang Date: Wed, 9 Feb 2022 15:49:14 +0900 Subject: [PATCH] This PR translates advanced/sub-applications.md in Korean. Test complete related: #2017 --- docs/ko/docs/advanced/.DS_Store | Bin 0 -> 6148 bytes docs/ko/docs/advanced/sub-applications.md | 73 ++++++++++++++++++++++ docs/ko/mkdocs.yml | 2 + 3 files changed, 75 insertions(+) create mode 100644 docs/ko/docs/advanced/.DS_Store create mode 100644 docs/ko/docs/advanced/sub-applications.md diff --git a/docs/ko/docs/advanced/.DS_Store b/docs/ko/docs/advanced/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..4834b68b1529d3a61470351b2a12fde300ee222b GIT binary patch literal 6148 zcmeHKyH3ME5S)V)k!T{(P~H!K#2;8uD5&!TiIWD&V5E@V9Us82(!=Zngk_MZD9~)Q zH+OqGckvWnFMzTW_xl9U30VyB_q<|FojRIDCY4fu{jZ#1g zNP$lU?EO&bhE3uS=&ueA-U1M347+jey#%pZfY>AsfsD{fP>De;*VNgM)$ zj^a1-oV>YYhf@4@#;d2JG=UnWfD{-ja2m^n)&Cp%5B>j`q?Htq0{=>ZGFz=zOFmN8 z*2%+Jt*!J8{ll2+=^VTi6TK93VWs%uOJ21(_nX8a(CLgjov051(?uo){z8Fw>UklJ literal 0 HcmV?d00001 diff --git a/docs/ko/docs/advanced/sub-applications.md b/docs/ko/docs/advanced/sub-applications.md new file mode 100644 index 000000000..597aa3a99 --- /dev/null +++ b/docs/ko/docs/advanced/sub-applications.md @@ -0,0 +1,73 @@ +# 하위 애플리케이션 - 마운트 + +만약 각각의 독립적인 OpenAPI와 문서 UI를 갖는 두 개의 독립적인 FastAPI 애플리케이션이 필요하다면, 메인 어플리케이션에 하나 (또는 그 이상의) 하위-어플리케이션(들)을 “마운트"해서 사용할 수 있습니다. + +## **FastAPI** 애플리케이션 마운트 + +“마운트"이란 완전히 “독립적인" 애플리케이션을 특정 경로에 추가하여 해당 하위 애플리케이션에서 선언된 *경로 동작*을 통해 해당 경로 아래에 있는 모든 작업들을 처리할 수 있도록 하는 것을 의미합니다. + +### 최상단 애플리케이션 + +먼저, 메인, 최상단의 **FastAPI** 애플리케이션과 이것의 *경로 동작*을 생성합니다: + +```Python hl_lines="3 6-8" +{!../../../docs_src/sub_applications/tutorial001.py!} +``` + +### 하위 애플리케이션 + +다음으로, 하위 애플리케이션과 이것의 *경로 동작*을 생성합니다: + +이 하위 애플리케이션은 단지 또 다른 표준 FastAPI 애플리케이션입니다. 다만 이것은 “마운트”될 것입니다: + +```Python hl_lines="11 14-16" +{!../../../docs_src/sub_applications/tutorial001.py!} +``` + +### 하위 애플리케이션 마운트 + +최상단 애플리케이션, `app`에 하위 애플리케이션, `subapi`를 마운트합니다. + +이 예시에서, 하위 애플리케이션은 `/subapi` 경로에 마운트 될 것입니다: + +```Python hl_lines="11 19" +{!../../../docs_src/sub_applications/tutorial001.py!} +``` + +### 자동으로 생성된 API 문서 확인 + +이제, `uvicorn`으로 메인 애플리케이션을 실행하십시오. 당신의 파일이 `main.py`라면, 이렇게 실행합니다: + +
+ +```console +$ uvicorn main:app --reload + +INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) +``` + +
+ +그리고 http://127.0.0.1:8000/docs에서 문서를 여십시오. + +메인 애플리케이션의 *경로 동작*만을 포함하는, 메인 애플리케이션에 대한 자동 API 문서를 확인할 수 있을 것입니다: + + + +다음으로, http://127.0.0.1:8000/subapi/docs에서 하위 애플리케이션의 문서를 여십시오. + +하위 경로 접두사 `/subapi` 아래에 선언된 *경로 동작* 을 포함하는, 하위 애플리케이션에 대한 자동 API 문서를 확인할 수 있을 것입니다: + + + +두 사용자 인터페이스 중 어느 하나를 사용해야하는 경우, 브라우저는 특정 애플리케이션 또는 하위 애플리케이션과 각각 통신할 수 있기 때문에 올바르게 동작할 것입니다. + +### 기술적 세부사항: `root_path` + +위에 설명된 것과 같이 하위 애플리케이션을 마운트하는 경우, FastAPI는 `root_path`라고 하는 ASGI 명세의 매커니즘을 사용하여 하위 애플리케이션에 대한 마운트 경로 통신을 처리합니다. + +이를 통해, 하위 애플리케이션은 문서 UI를 위해 경로 접두사를 사용해야 한다는 사실을 인지합니다. + +하위 애플리케이션에도 역시 다른 하위 애플리케이션을 마운트하는 것이 가능하며 FastAPI가 모든 `root_path` 들을 자동적으로 처리하기 때문에 모든 것은 올바르게 동작할 것입니다. + +`root_path`와 이것을 사용하는 방법에 대해서는 [프록시의 뒷단](./behind-a-proxy.md){.internal-link target=_blank} 섹션에서 배울 수 있습니다. diff --git a/docs/ko/mkdocs.yml b/docs/ko/mkdocs.yml index 124e7b1d3..52db5acb8 100644 --- a/docs/ko/mkdocs.yml +++ b/docs/ko/mkdocs.yml @@ -64,6 +64,8 @@ nav: - tutorial/path-params-numeric-validations.md - tutorial/response-status-code.md - tutorial/request-files.md +- 심화된 사용자 안내서: + - advanced/sub-applications.md markdown_extensions: - toc: permalink: true