From: ryuckel <36391432+ryuckel@users.noreply.github.com>
Date: Sat, 29 Aug 2020 13:34:08 +0000 (+0900)
Subject: 🌐 Add Japanese translation for index.md (#1571)
X-Git-Tag: 0.61.1~4
X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e1e862716879409a64d37e5977e80ca78ddf575b;p=thirdparty%2Ffastapi%2Ffastapi.git
🌐 Add Japanese translation for index.md (#1571)
---
diff --git a/docs/en/mkdocs.yml b/docs/en/mkdocs.yml
index 6628580b4c..dcd78f70c2 100644
--- a/docs/en/mkdocs.yml
+++ b/docs/en/mkdocs.yml
@@ -28,6 +28,7 @@ nav:
- en: /
- es: /es/
- fr: /fr/
+ - ja: /ja/
- it: /it/
- pt: /pt/
- ru: /ru/
diff --git a/docs/es/mkdocs.yml b/docs/es/mkdocs.yml
index de917b6f1b..acd4dcc114 100644
--- a/docs/es/mkdocs.yml
+++ b/docs/es/mkdocs.yml
@@ -28,6 +28,7 @@ nav:
- en: /
- es: /es/
- fr: /fr/
+ - ja: /ja/
- it: /it/
- pt: /pt/
- ru: /ru/
diff --git a/docs/ja/docs/index.md b/docs/ja/docs/index.md
new file mode 100644
index 0000000000..9fdce0ef2c
--- /dev/null
+++ b/docs/ja/docs/index.md
@@ -0,0 +1,443 @@
+
+
+
+
+ FastAPI framework, high performance, easy to learn, fast to code, ready for production
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+---
+
+**ããã¥ã¡ã³ã**: https://fastapi.tiangolo.com
+
+**ã½ã¼ã¹ã³ã¼ã**: https://github.com/tiangolo/fastapi
+
+---
+
+FastAPI ã¯ãPythonã®æ¨æºã§ããåãã³ãã«åºã¥ãã¦Python 3.6 以éã§API ãæ§ç¯ããããã®ãã¢ãã³ã§ãé«é(é«ããã©ã¼ãã³ã¹)ãªãWeb ãã¬ã¼ã ã¯ã¼ã¯ã§ãã
+
+主ãªç¹å¾´:
+
+- **é«é**: **NodeJS** ã **Go** 並ã¿ã®ã¨ã¦ãé«ãããã©ã¼ãã³ã¹ (Starlette 㨠Pydantic ã®ãããã§ã)ã [æãé«é㪠Python ãã¬ã¼ã ã¯ã¼ã¯ã®ä¸ã¤ã§ã](#performance).
+
+- **é«éãªã³ã¼ãã£ã³ã°**: éçºé度ãç´ 200%~300%åä¸ããã¾ãã \*
+- **å°ãªããã°**: éçºè
èµ·å ã®ãã¥ã¼ãã³ã¨ã©ã¼ãç´ 40ï¼
忏ãã¾ãã \*
+- **ç´æç**: ç´ æ´ãããã¨ãã£ã¿ã®ãµãã¼ãã ãªã¼ãã³ã³ããªã¼ãã ãããã°æéã忏ãã¾ãã
+- **ç°¡å**: ç°¡åã«å©ç¨ãç¿å¾ã§ããããã«ãã¶ã¤ã³ããã¦ãã¾ããããã¥ã¡ã³ããèªãæéã忏ãã¾ãã
+- **çã**: ã³ã¼ãã®éè¤ãæå°éã«ãã¦ãã¾ããåãã©ã¡ã¼ã¿ããã®è¤æ°ã®æ©è½ãå°ãªããã°ã
+- **å
ç¢æ§**: èªå対話ããã¥ã¡ã³ãã使ç¨ãã¦ãæ¬çªç°å¢ã§ä½¿ç¨ã§ããã³ã¼ããåå¾ãã¾ãã
+- **Standards-based**: API ã®ãªã¼ãã³ã¹ã¿ã³ãã¼ãã«åºã¥ãã¦ãããå®å
¨ã«äºææ§ãããã¾ã: OpenAPI (以å㯠Swagger ã¨ãã¦ç¥ããã¦ãã¾ãã) ã JSON ã¹ãã¼ã.
+
+\* æ¬çªã¢ããªã±ã¼ã·ã§ã³ãæ§ç¯ãã¦ããéçºãã¼ã ã®ãã¹ãã«ããè¦ç©ããã
+
+## è©ä¾¡
+
+"_[...] æè¿ **FastAPI** ã使ã£ã¦ãã¾ãã [...] å®éã«ç§ã®ãã¼ã ã®å
¨ã¦ã® **Microsoft ã®æ©æ¢°å¦ç¿ãµã¼ãã¹** ã§ä½¿ç¨ããäºå®ã§ãã ãã®ãã¡ã®ããã¤ãã®ã³ã¢ãª**Windows**製åã¨**Office**製åã«çµ±åããã¤ã¤ããã¾ãã_"
+
+Kabir Khan -
Microsoft (ref)
+
+---
+
+"_FastAPIã©ã¤ãã©ãªãæ¡ç¨ããã¯ã¨ãªã§**äºæ¸¬å¤**ãåå¾ã§ãã**REST**ãµã¼ããæ§ç¯ãã¾ããã [for Ludwig]_"
+
+Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala -
Uber (ref)
+
+---
+
+"_**Netflix** ã¯ã**屿©ç®¡ç**ãªã¼ã±ã¹ãã¬ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ã**Dispatch**ã®ãªã¼ãã³ã½ã¼ã¹ãªãªã¼ã¹ãçºè¡¨ã§ãããã¨ãããããæãã¾ãã [built with **FastAPI**]_"
+
+Kevin Glisson, Marc Vilanova, Forest Monsen -
Netflix (ref)
+
+---
+
+"_ç§ã¯**FastAPI**ã«ã¯ã¯ã¯ã¯ãã¦ãã¾ãã ãã¡ããã¡ã楽ããã§ãï¼_"
+
+
+
+---
+
+"_æ£ç´ãè¶
å
å®ã§æ´ç·´ããã¦ããããã«è¦ãã¾ããããããªæå³ã§ãããã¯ç§ããã°ãããã£ããã®ã§ãã_"
+
+
+
+---
+
+"_REST API ãæ§ç¯ããããã®**ã¢ãã³ãªãã¬ã¼ã ã¯ã¼ã¯**ãå¦ã³ããæ¹ã¯ã**FastAPI** [...] ããã§ãã¯ãã¦ã¿ã¦ãã ããã [...] é«éã§, 使ç¨ãç¿å¾ãç°¡åã§ãã[...]_"
+
+"_ç§ãã¡ã®**API**ã¯**FastAPI**ã«åãæ¿ãã¾ããã[...] ãã£ã¨æ°ã«å
¥ãã¨æãã¾ãã [...]_"
+
+
+
+---
+
+## **Typer**, the FastAPI of CLIs
+
+
+
+ãã Web API ã®ä»£ããã«ã¿ã¼ããã«ã§ä½¿ç¨ããCLIã¢ããªãæ§ç¯ããå ´åã¯ã**Typer**ã確èªãã¦ãã ããã
+
+**Typer**㯠FastAPI ã®å¼åã§ããããã¦ã**CLI ç ã® FastAPI**ãæå³ãã¦ãã¾ãã
+
+## å¿
è¦æ¡ä»¶
+
+Python 3.6+
+
+FastAPI ã¯å·¨äººã®è©ã®ä¸ã«ç«ã£ã¦ãã¾ãã
+
+- Web ã®é¨åã¯Starlette
+- ãã¼ã¿ã®é¨åã¯Pydantic
+
+## ã¤ã³ã¹ãã¼ã«
+
+
+
+```console
+$ pip install fastapi
+
+---> 100%
+```
+
+
+
+æ¬çªç°å¢ã§ã¯ãUvicorn ã¾ãã¯ã Hypercornã®ãããªã ASGI ãµã¼ãã¼ãå¿
è¦ã«ãªãã¾ãã
+
+
+
+```console
+$ pip install uvicorn
+
+---> 100%
+```
+
+
+
+## ã¢ããªã±ã¼ã·ã§ã³ä¾
+
+### ã¢ããªã±ã¼ã·ã§ã³ã®ä½æ
+
+- `main.py` ã使ãã以ä¸ã®ã³ã¼ããå
¥åãã¾ã:
+
+```Python
+from fastapi import FastAPI
+
+app = FastAPI()
+
+
+@app.get("/")
+def read_root():
+ return {"Hello": "World"}
+
+
+@app.get("/items/{item_id}")
+def read_item(item_id: int, q: str = None):
+ return {"item_id": item_id, "q": q}
+```
+
+
+ã¾ãã¯async def
ã使ãã¾ã...
+
+`async` / `await`ã使ç¨ããã¨ãã¯ã `async def`ã使ãã¾ã:
+
+```Python hl_lines="7 12"
+from fastapi import FastAPI
+
+app = FastAPI()
+
+
+@app.get("/")
+async def read_root():
+ return {"Hello": "World"}
+
+
+@app.get("/items/{item_id}")
+async def read_item(item_id: int, q: str = None):
+ return {"item_id": item_id, "q": q}
+```
+
+**注**:
+
+ããããªãå ´åã¯ãããã¥ã¡ã³ãã®`async` 㨠`await`ã«ãã"In a hurry?"ã»ã¯ã·ã§ã³ããã§ãã¯ãã¦ãã ããã
+
+
+
+### å®è¡
+
+以ä¸ã®ã³ãã³ãã§ãµã¼ãã¼ãèµ·åãã¾ã:
+
+
+
+```console
+$ uvicorn main:app --reload
+
+INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
+INFO: Started reloader process [28720]
+INFO: Started server process [28722]
+INFO: Waiting for application startup.
+INFO: Application startup complete.
+```
+
+
+
+
+uvicorn main:app --reload
ã³ãã³ãã«ã¤ãã¦
+
+`uvicorn main:app`ã³ãã³ãã¯ä»¥ä¸ã®é
ç®ãåç
§ãã¾ã:
+
+- `main`: `main.py`ãã¡ã¤ã« (Python "ã¢ã¸ã¥ã¼ã«")
+- `app`: `main.py` ã®`app = FastAPI()`ã®è¡ã§çæããããªãã¸ã§ã¯ã
+- `--reload`: ã³ã¼ãã夿´ããããµã¼ãã¼ãåèµ·åãã¾ãããã®ãªãã·ã§ã³ã¯éçºç°å¢ã§ã®ã¿ä½¿ç¨ãã¾ã
+
+
+
+### åä½ç¢ºèª
+
+ãã©ã¦ã¶ããhttp://127.0.0.1:8000/items/5?q=somequeryãéãã¾ãã
+
+以ä¸ã® JSON ã®ã¬ã¹ãã³ã¹ã確èªã§ãã¾ã:
+
+```JSON
+{"item_id": 5, "q": "somequery"}
+```
+
+ãããã§ã«ä»¥ä¸ã® API ã使ããã¦ãã¾ã:
+
+- `/` 㨠`/items/{item_id}`ã®ãã¹ã§ HTTP ãªã¯ã¨ã¹ããåãã¾ãã
+- ã©ã¡ãã®ãã¹ã `GET` æä½ ãåãã¾ãã(HTTP ã¡ã½ããã¨ãã¦ãç¥ããã¦ãã¾ãã)
+- `/items/{item_id}` ãã¹ã®ãã¹ãã©ã¡ã¼ã¿ `item_id` 㯠`int` ã§ãªããã°ãªãã¾ããã
+- ãã¹ `/items/{item_id}` ã¯ãªãã·ã§ã³ã® `str` ã¯ã¨ãªãã©ã¡ã¼ã¿ `q` ãæã¡ã¾ãã
+
+### èªå対話åã® API ããã¥ã¡ã³ã
+
+http://127.0.0.1:8000/docsã«ã¢ã¯ã»ã¹ãã¦ã¿ã¦ãã ããã
+
+èªå対話åã® API ããã¥ã¡ã³ãã表示ããã¾ãã (Swagger UIãæä¾ãã¦ãã¾ãã):
+
+
+
+### 代æ¿ã® API ããã¥ã¡ã³ã
+
+http://127.0.0.1:8000/redocã«ã¢ã¯ã»ã¹ãã¦ã¿ã¦ãã ããã
+
+代æ¿ã®èªåããã¥ã¡ã³ãã表示ããã¾ãã(ReDocãæä¾ãã¦ãã¾ãã):
+
+
+
+## ã¢ããã°ã¬ã¼ãä¾
+
+`PUT`ãªã¯ã¨ã¹ãããããã£ãåãåãããã«`main.py`ãä¿®æ£ãã¾ãããã
+
+Pydantic ã«ãã£ã¦ãPython ã®æ¨æºçãªåã使ã£ã¦ããã£ã宣è¨ãã¾ãã
+
+```Python hl_lines="2 7 8 9 10 23 24 25"
+from fastapi import FastAPI
+from pydantic import BaseModel
+
+app = FastAPI()
+
+
+class Item(BaseModel):
+ name: str
+ price: float
+ is_offer: bool = None
+
+
+@app.get("/")
+def read_root():
+ return {"Hello": "World"}
+
+
+@app.get("/items/{item_id}")
+def read_item(item_id: int, q: str = None):
+ return {"item_id": item_id, "q": q}
+
+
+@app.put("/items/{item_id}")
+def update_item(item_id: int, item: Item):
+ return {"item_name": item.name, "item_id": item_id}
+```
+
+ãµã¼ãã¼ã¯èªåã§ãªãã¼ãããã¾ãã(ä¸è¿°ã®`uvicorn`ã³ãã³ãã§`--reload`ãªãã·ã§ã³ã追å ãã¦ããããã§ãã)
+
+### èªå対話åã® API ããã¥ã¡ã³ãã®ã¢ããã°ã¬ã¼ã
+
+http://127.0.0.1:8000/docsã«ã¢ã¯ã»ã¹ãã¾ãããã
+
+- èªå対話åã® API ããã¥ã¡ã³ããæ°ããããã£ãå«ãã¦èªåã§ã¢ãããã¼ãããã¾ã:
+
+
+
+- "Try it out"ãã¿ã³ãã¯ãªãã¯ãã¦ãã ããããã©ã¡ã¼ã¿ãå
¥åã㦠API ã¨ç´æ¥ããã¨ããããã¨ãã§ãã¾ã:
+
+
+
+- ããããã"Execute" ãã¿ã³ãã¯ãªãã¯ãã¦ãã ããã ã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¯ API ã¨éä¿¡ãããã©ã¡ã¼ã¿ãéä¿¡ããçµæãåå¾ãã¦ç»é¢ã«è¡¨ç¤ºãã¾ã:
+
+
+
+### 代æ¿ã® API ããã¥ã¡ã³ãã®ã¢ããã°ã¬ã¼ã
+
+http://127.0.0.1:8000/redocã«ã¢ã¯ã»ã¹ãã¾ãããã
+
+- 代æ¿ã® API ããã¥ã¡ã³ãã«ãæ°ããã¯ã¨ãªãã©ã¡ã¼ã¿ãããã£ãåæ ããã¾ãã
+
+
+
+### ã¾ã¨ã
+
+è¦ç´ããã¨ã颿°ã®ãã©ã¡ã¼ã¿ã¨ãã¦ããã©ã¡ã¼ã¿ããã㣠ãªã©ã®åã**ä¸åº¦ã ã**宣è¨ãã¾ãã
+
+æ¨æºçãªææ°ã® Python ã®åã使ã£ã¦ãã¾ãã
+
+æ°ããæ§æãç¹å®ã®ã©ã¤ãã©ãªã®ã¡ã½ãããã¯ã©ã¹ãªã©ãè¦ããå¿
è¦ã¯ããã¾ããã
+
+åãªãæ¨æºçãª**3.6 以éã® Python**ã§ãã
+
+ä¾ãã°ã`int`ã®å ´å:
+
+```Python
+item_id: int
+```
+
+ã¾ãã¯ãããè¤éãª`Item`ã¢ãã«ã®å ´å:
+
+```Python
+item: Item
+```
+
+...ããã¦ããã®ä¸åº¦ã®å®£è¨ã§ã以ä¸ã®ããã«ãªãã¾ã:
+
+- 以ä¸ãå«ãã¨ãã£ã¿ãµãã¼ã:
+ - è£å®
+ - ã¿ã¤ããã§ãã¯
+- ãã¼ã¿ã®æ¤è¨¼:
+ - ãã¼ã¿ãç¡å¹ãªå ´åã«èªåã§ã¨ã©ã¼ãã¯ãªã¢ãã¾ãã
+ - æ·±ãå
¥ãåã«ãªã£ã JSON ãªãã¸ã§ã¯ãã§ãæ¤è¨¼ãå¯è½ã§ãã
+- å
¥åãã¼ã¿ã®å¤æ: ãããã¯ã¼ã¯ãã Python ã®ãã¼ã¿ãåã«å¤æãã¦ããèªã¿åãã¾ã:
+ - JSON.
+ - ãã¹ãã©ã¡ã¼ã¿
+ - ã¯ã¨ãªãã©ã¡ã¼ã¿
+ - ã¯ããã¼
+ - ãããã¼
+ - ãã©ã¼ã
+ - ãã¡ã¤ã«
+- åºåãã¼ã¿ã®å¤æ: Python ã®ãã¼ã¿ãåãããããã¯ã¼ã¯ãã¼ã¿ã¸å¤æãã¾ã (JSON ã¨ãã¦):
+ - Convert Python types (`str`, `int`, `float`, `bool`, `list`, etc).
+ - `datetime` ãªãã¸ã§ã¯ã
+ - `UUID` ãªãã¸ã§ã¯ã
+ - ãã¼ã¿ãã¼ã¹ã¢ãã«
+ - ...ãªã©ãªã©
+- 2 ã¤ã®ä»£æ¿ã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¼ã¹ãå«ãèªåã¤ã³ã¿ã©ã¯ãã£ã API ããã¥ã¡ã³ã:
+ - Swagger UI.
+ - ReDoc.
+
+---
+
+ã³ã¼ãä¾ã«æ»ãã¾ãããã**FastAPI** ã¯æ¬¡ã®ããã«ãªãã¾ã:
+
+- `GET`ããã³`PUT`ãªã¯ã¨ã¹ãã®ãã¹ã«`item_id` ããããã¨ãæ¤è¨¼ãã¾ãã
+- `item_id`ã`GET`ããã³`PUT`ãªã¯ã¨ã¹ãã«å¯¾ãã¦`int` åã§ãããã¨ãæ¤è¨¼ãã¾ãã
+ - ããã§ãªãå ´åã¯ãã¯ã©ã¤ã¢ã³ãã¯æç¨ã§æç¢ºãªã¨ã©ã¼ã表示ããã¾ãã
+- `GET` ãªã¯ã¨ã¹ãã«å¯¾ãã¦ãªãã·ã§ã³ã®ã¯ã¨ãªãã©ã¡ã¼ã¿ `q` (`http://127.0.0.1:8000/items/foo?q=somequery` ã®ããã«) ãåå¨ãããã©ããã調ã¹ã¾ãã
+ - ãã©ã¡ã¼ã¿ `q` 㯠`= None` ã§å®£è¨ããã¦ããã®ã§ããªãã·ã§ã³ã§ãã
+ - `None`ããªããã°å¿
é ã«ãªãã¾ãï¼`PUT`ã®å ´åã®ããã£ã¨åæ§ã§ãï¼ã
+- `PUT` ãªã¯ã¨ã¹ãã `/items/{item_id}` ã«éä¿¡ããå ´åã¯ãããã£ã JSON ã¨ãã¦èªã¿è¾¼ã¿ã¾ã:
+ - å¿
é ã®å±æ§ `name` ã確èªãã¦ãã ããã ãã㯠`str` ã§ããã¹ãã§ãã
+ - å¿
é ã®å±æ§ `price` ã確èªãã¦ãã ããããã㯠`float` ã§ãªããã°ãªããªãã§ãã
+ - ãªãã·ã§ã³ã®å±æ§ `is_offer` ã確èªãã¦ãã ãããå¤ãããå ´åã¯ã`bool` ã§ããã¹ãã§ãã
+ - ãããã¯ãã¹ã¦ãæ·±ããã¹ãããã JSON ãªãã¸ã§ã¯ãã«å¯¾ãã¦ãåä½ãã¾ãã
+- JSON ãã JSON ã«èªåçã«å¤æãã¾ãã
+- OpenAPIã§ãã¹ã¦ãææ¸åãã以ä¸ã使ç¨ãããã¨ãã§ãã¾ã:
+ - 対話çãªããã¥ã¡ã³ãã·ã¹ãã ã
+ - å¤ãã®è¨èªã«å¯¾å¿ããèªåã¯ã©ã¤ã¢ã³ãã³ã¼ãçæã·ã¹ãã ã
+- 2 ã¤ã®å¯¾è©±çãªããã¥ã¡ã³ãã®Webã¤ã³ã¿ã¼ãã§ã¤ã¹ãç´æ¥æä¾ãã¾ãã
+
+---
+
+ã¾ã 表é¢çãªé¨åã«è§¦ããã ãã§ãããããå
¨ã¦ã®ä»çµã¿ã¯åãã£ã¦ããã¯ãã§ãã
+
+以ä¸ã®è¡ã夿´ãã¦ã¿ã¦ãã ãã:
+
+```Python
+ return {"item_name": item.name, "item_id": item_id}
+```
+
+...以ä¸ã:
+
+```Python
+ ... "item_name": item.name ...
+```
+
+...以ä¸ã®ããã«:
+
+```Python
+ ... "item_price": item.price ...
+```
+
+...ããã¦ãã¨ãã£ã¿ã屿§ãèªåè£å®ãããã®ã¿ã¤ããç¥ãæ¹æ³ã確èªãã¦ãã ããã:
+
+
+
+ããå¤ãã®æ©è½ãå«ããããå®å
¨ãªä¾ã«ã¤ãã¦ã¯ããã¥ã¼ããªã¢ã« - ã¦ã¼ã¶ã¼ã¬ã¤ããã覧ãã ããã
+
+**ãã¿ãã¬æ³¨æ**: ãã¥ã¼ããªã¢ã« - ã¦ã¼ã¶ã¼ã¬ã¤ãã¯ä»¥ä¸ã®æ
å ±ãå«ã¾ãã¦ãã¾ã:
+
+- **ãããã¼**ã**ã¯ããã¼**ã**ãã©ã¼ã ãã£ã¼ã«ã**ã**ãã¡ã¤ã«**ãªã©ã®ä»ã®å ´æããã® **ãã©ã¡ã¼ã¿** 宣è¨ã
+- `maximum_length`ã`regex`ã®ãããª**æ¤è¨¼ãå¶ç´**ãè¨å®ããæ¹æ³ã
+- é常ã«å¼·åã§ä½¿ãããã **ä¾åæ§æ³¨å
¥**ã·ã¹ãã ã
+- **JWT ãã¼ã¯ã³**ãç¨ãã **OAuth2** ã **HTTP Basic èªè¨¼** ã®ãµãã¼ããå«ããã»ãã¥ãªãã£ã¨èªè¨¼ã
+- **æ·±ããã¹ãããã JSON ã¢ãã«**ã宣è¨ããããã®ããé«åº¦ãªï¼ãããåæ§ã«ç°¡åãªï¼æè¡ï¼Pydantic ã®ãããã§ãï¼ã
+- 以ä¸ã®ãããªããããã®ãã¾ãæ©è½(Starlette ã®ãããã§ã):
+ - **WebSockets**
+ - **GraphQL**
+ - `requests` ã `pytest`ããã¨ã«ããæ¥µéã«ç°¡åãªãã¹ã
+ - **CORS**
+ - **ã¯ããã¼ã»ãã·ã§ã³**
+ - ...ãªã©ãªã©ã
+
+## ããã©ã¼ãã³ã¹
+
+ç¬ç«ãã TechEmpower ã®ãã³ããã¼ã¯ã§ã¯ãUvicorn ã§åä½ãã**FastAPI**ã¢ããªã±ã¼ã·ã§ã³ããPython ãã¬ã¼ã ã¯ã¼ã¯ã®ä¸ã§æãé«éãªãã®ã® 1 ã¤ã§ãããStarlette 㨠Uvicornï¼FastAPI ã§å
é¨çã«ä½¿ç¨ããã¦ãã¾ãï¼ã«ã®ã¿ä¸åã£ã¦ããã¨ç¤ºããã¦ãã¾ãã
+
+詳細ã¯ãã³ããã¼ã¯ã»ã¯ã·ã§ã³ãã覧ãã ããã
+
+## ãªãã·ã§ã³ã®ä¾åé¢ä¿
+
+Pydantic ã«ãã£ã¦ä½¿ç¨ããããã®:
+
+- ujson
- ããéã JSON ã¸ã®"夿".
+- email_validator
- E ã¡ã¼ã«ã®æ¤è¨¼
+
+Starlette ã«ãã£ã¦ä½¿ç¨ããããã®:
+
+- requests
- `TestClient`ã使ç¨ããããã«å¿
è¦ã§ãã
+- aiofiles
- `FileResponse` ã¾ã㯠`StaticFiles`ã使ç¨ãããå ´åã¯å¿
è¦ã§ãã
+- jinja2
- ããã©ã«ãã®ãã³ãã¬ã¼ãè¨å®ã使ç¨ããå ´åã¯å¿
è¦ã§ãã
+- python-multipart
- "parsing"`request.form()`ããã®å¤æããµãã¼ããããå ´åã¯å¿
è¦ã§ãã
+- itsdangerous
- `SessionMiddleware` ãµãã¼ãã®ããã«ã¯å¿
è¦ã§ãã
+- pyyaml
- Starlette ã® `SchemaGenerator` ãµãã¼ãã®ããã«å¿
è¦ã§ãã (FastAPI ã§ã¯å¿
è¦ãªãã§ãããã)
+- graphene
- `GraphQLApp` ãµãã¼ãã®ããã«ã¯å¿
è¦ã§ãã
+- ujson
- `UJSONResponse`ã使ç¨ããå ´åã¯å¿
é ã§ãã
+
+FastAPI / Starlette ã«ä½¿ç¨ããããã®:
+
+- uvicorn
- ã¢ããªã±ã¼ã·ã§ã³ããã¼ããã¦ãµã¼ããããµã¼ãã¼ã®ããã
+- orjson
- `ORJSONResponse`ã使ç¨ãããå ´åã¯å¿
è¦ã§ãã
+
+ãããã¯å
¨ã¦ `pip install fastapi[all]`ã§ã¤ã³ã¹ãã¼ã«ã§ãã¾ãã
+
+## ã©ã¤ã»ã³ã¹
+
+ãã®ããã¸ã§ã¯ã㯠MIT ã©ã¤ã»ã³ã¹ã§ãã
diff --git a/docs/ja/mkdocs.yml b/docs/ja/mkdocs.yml
new file mode 100644
index 0000000000..8f55ea67cb
--- /dev/null
+++ b/docs/ja/mkdocs.yml
@@ -0,0 +1,66 @@
+site_name: FastAPI
+site_description: FastAPI framework, high performance, easy to learn, fast to code, ready for production
+site_url: https://fastapi.tiangolo.com/ja/
+theme:
+ name: material
+ palette:
+ primary: teal
+ accent: amber
+ icon:
+ repo: fontawesome/brands/github-alt
+ logo: https://fastapi.tiangolo.com/img/icon-white.svg
+ favicon: https://fastapi.tiangolo.com/img/favicon.png
+ language: ja
+repo_name: tiangolo/fastapi
+repo_url: https://github.com/tiangolo/fastapi
+edit_uri: ''
+google_analytics:
+- UA-133183413-1
+- auto
+nav:
+- FastAPI: index.md
+- Languages:
+ - en: /
+ - es: /es/
+ - ja: /ja/
+ - pt: /pt/
+ - zh: /zh/
+markdown_extensions:
+- toc:
+ permalink: true
+- markdown.extensions.codehilite:
+ guess_lang: false
+- markdown_include.include:
+ base_path: docs
+- admonition
+- codehilite
+- extra
+- pymdownx.superfences:
+ custom_fences:
+ - name: mermaid
+ class: mermaid
+ format: !!python/name:pymdownx.superfences.fence_div_format ''
+- pymdownx.tabbed
+extra:
+ social:
+ - icon: fontawesome/brands/github-alt
+ link: https://github.com/tiangolo/typer
+ - icon: fontawesome/brands/twitter
+ link: https://twitter.com/tiangolo
+ - icon: fontawesome/brands/linkedin
+ link: https://www.linkedin.com/in/tiangolo
+ - icon: fontawesome/brands/dev
+ link: https://dev.to/tiangolo
+ - icon: fontawesome/brands/medium
+ link: https://medium.com/@tiangolo
+ - icon: fontawesome/solid/globe
+ link: https://tiangolo.com
+extra_css:
+- https://fastapi.tiangolo.com/css/termynal.css
+- https://fastapi.tiangolo.com/css/custom.css
+extra_javascript:
+- https://unpkg.com/mermaid@8.4.6/dist/mermaid.min.js
+- https://fastapi.tiangolo.com/js/termynal.js
+- https://fastapi.tiangolo.com/js/custom.js
+- https://fastapi.tiangolo.com/js/chat.js
+- https://sidecar.gitter.im/dist/sidecar.v1.js
diff --git a/docs/pt/mkdocs.yml b/docs/pt/mkdocs.yml
index 8224afdef6..0f182bf045 100644
--- a/docs/pt/mkdocs.yml
+++ b/docs/pt/mkdocs.yml
@@ -28,6 +28,7 @@ nav:
- en: /
- es: /es/
- fr: /fr/
+ - ja: /ja/
- it: /it/
- pt: /pt/
- ru: /ru/
diff --git a/docs/zh/mkdocs.yml b/docs/zh/mkdocs.yml
index f5edd98a7c..a55edcc472 100644
--- a/docs/zh/mkdocs.yml
+++ b/docs/zh/mkdocs.yml
@@ -28,6 +28,7 @@ nav:
- en: /
- es: /es/
- fr: /fr/
+ - ja: /ja/
- it: /it/
- pt: /pt/
- ru: /ru/