From 59208e4ddcbb14a64eabc99c37acf8424a8d30a2 Mon Sep 17 00:00:00 2001 From: Ryusei Ishikawa <51394682+xryuseix@users.noreply.github.com> Date: Sun, 13 Nov 2022 22:58:31 +0900 Subject: [PATCH] =?utf8?q?=F0=9F=8C=90=20Add=20Japanese=20translation=20fo?= =?utf8?q?r=20`docs/ja/docs/advanced/websockets.md`=20(#4983)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Co-authored-by: tokusumi <41147016+tokusumi@users.noreply.github.com> Co-authored-by: komtaki <39375566+komtaki@users.noreply.github.com> --- docs/ja/docs/advanced/websockets.md | 186 ++++++++++++++++++++++++++++ docs/ja/mkdocs.yml | 1 + 2 files changed, 187 insertions(+) create mode 100644 docs/ja/docs/advanced/websockets.md diff --git a/docs/ja/docs/advanced/websockets.md b/docs/ja/docs/advanced/websockets.md new file mode 100644 index 0000000000..65e4112a6b --- /dev/null +++ b/docs/ja/docs/advanced/websockets.md @@ -0,0 +1,186 @@ +# WebSocket + +**FastAPI**ã§WebSocketã使ç¨ã§ãã¾ãã + +## `WebSockets`ã®ã¤ã³ã¹ãã¼ã« + +ã¾ã `WebSockets`ã®ã¤ã³ã¹ãã¼ã«ãå¿ è¦ã§ãã + +
+
+å
¥åããã¯ã¹ã«ã¡ãã»ã¼ã¸ãå
¥åãã¦éä¿¡ã§ãã¾ãã
+
+
+
+ããã¦ã WebSocketã使ç¨ãã**FastAPI**ã¢ããªã±ã¼ã·ã§ã³ãå¿çãã¾ãã
+
+
+
+è¤æ°ã®ã¡ãã»ã¼ã¸ãéä¿¡ï¼ããã³åä¿¡ï¼ã§ãã¾ãã
+
+
+
+ããã¦ããããã®éä¿¡ã¯ãã¹ã¦åãWebSocketæ¥ç¶ã使ç¨ãã¾ãã
+
+## ä¾åé¢ä¿
+
+WebSocketã¨ã³ããã¤ã³ãã§ã¯ã`fastapi` ãã以ä¸ãã¤ã³ãã¼ããã¦ä½¿ç¨ã§ãã¾ãã
+
+* `Depends`
+* `Security`
+* `Cookie`
+* `Header`
+* `Path`
+* `Query`
+
+ãããã¯ãä»ã®FastAPI ã¨ã³ããã¤ã³ã/*path operation* ã®å ´åã¨åãããã«æ©è½ãã¾ãã
+
+```Python hl_lines="58-65 68-83"
+{!../../../docs_src/websockets/tutorial002.py!}
+```
+
+!!! info "æ
å ±"
+ WebSocket ã§ `HTTPException` ãçºçããããã¨ã¯ãã¾ãæå³ãããã¾ããããããã£ã¦ãWebSocketã®æ¥ç¶ãç´æ¥éããæ¹ãããã§ãããã
+
+ ã¯ãã¼ã¸ã³ã°ã³ã¼ãã¯ã仿§ã§å®ç¾©ãããæå¹ãªã³ã¼ãã®ä¸ãã使ç¨ãããã¨ãã§ãã¾ãã
+
+ å°æ¥çã«ã¯ãã©ãããã§ã `raise` ã§ãã `WebSocketException` ãç¨æãããå°ç¨ã®ä¾å¤ãã³ãã©ã追å ã§ããããã«ãªãäºå®ã§ããããã¯ãStarlette ã® PR #527 ã«ä¾åãããã®ã§ãã
+
+### ä¾åé¢ä¿ãç¨ãã¦WebSocketsã試ãã¦ã¿ã
+
+ãã¡ã¤ã«åã `main.py` ã§ããå ´åã以ä¸ã®æ¹æ³ã§ã¢ããªã±ã¼ã·ã§ã³ãå®è¡ãã¾ãã
+
+
+
+## åæãè¤æ°ã¯ã©ã¤ã¢ã³ãã¸ã®å¯¾å¿
+
+WebSocketæ¥ç¶ãéããããã¨ã `await websocket.receive_text()` ã¯ä¾å¤ `WebSocketDisconnect` ãçºçããããã®ä¾ã®ããã«ãã£ãããã¦å¦çãããã¨ãã§ãã¾ãã
+
+```Python hl_lines="81-83"
+{!../../../docs_src/websockets/tutorial003.py!}
+```
+
+試ãã¦ã¿ãã«ã¯ã
+
+* ããã¤ãã®ãã©ã¦ã¶ã¿ãã§ã¢ããªãéãã¾ãã
+* ãããã®ã¿ãã§ã¡ãã»ã¼ã¸ãè¨å
¥ãã¦ãã ããã
+* ããã¦ãã¿ãã®ãã¡1ã¤ãéãã¦ãã ããã
+
+ããã«ããä¾å¤ `WebSocketDisconnect` ãçºçããä»ã®ãã¹ã¦ã®ã¯ã©ã¤ã¢ã³ãã¯æ¬¡ã®ãããªã¡ãã»ã¼ã¸ãåä¿¡ãã¾ãã
+
+```
+Client #1596980209979 left the chat
+```
+
+!!! tip "è±ç¥è"
+ ä¸è¨ã®ã¢ããªã¯ãè¤æ°ã® WebSocket æ¥ç¶ã«å¯¾ãã¦ã¡ãã»ã¼ã¸ãå¦çããããã¼ããã£ã¹ãããæ¹æ³ã示ãããã®æå°éã®ã·ã³ãã«ãªä¾ã§ãã
+
+ ãããããã¹ã¦ã®æ¥ç¶ãã¡ã¢ãªå
ã®åä¸ã®ãªã¹ãã§å¦çããããããããã»ã¹ã®å®è¡ä¸ã«ã®ã¿æ©è½ããåä¸ã®ããã»ã¹ã§ã®ã¿æ©è½ãããã¨ã«æ³¨æãã¦ãã ããã
+
+ ããFastAPIã¨ç°¡åã«çµ±åã§ãã¦ãRedisãPostgreSQLãªã©ã§ãµãã¼ãããã¦ãããããå
ç¢ãªãã®ãå¿
è¦ãªããencode/broadcaster ã確èªãã¦ãã ããã
+
+## ãã®ä»ã®ããã¥ã¡ã³ã
+
+ãªãã·ã§ã³ã®è©³ç´°ã«ã¤ãã¦ã¯ãStarletteã®ããã¥ã¡ã³ãã確èªãã¦ãã ããã
+
+* `WebSocket` ã¯ã©ã¹
+* ã¯ã©ã¹ãã¼ã¹ã®WebSocketå¦ç
diff --git a/docs/ja/mkdocs.yml b/docs/ja/mkdocs.yml
index b3f18bbdd3..5bbcce6059 100644
--- a/docs/ja/mkdocs.yml
+++ b/docs/ja/mkdocs.yml
@@ -86,6 +86,7 @@ nav:
- advanced/response-directly.md
- advanced/custom-response.md
- advanced/nosql-databases.md
+ - advanced/websockets.md
- advanced/conditional-openapi.md
- async.md
- ãããã¤:
--
2.47.3