]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🌐 Update translations for ja (update-outdated) (#15171)
authorSebastián Ramírez <tiangolo@gmail.com>
Fri, 20 Mar 2026 14:07:17 +0000 (15:07 +0100)
committerGitHub <noreply@github.com>
Fri, 20 Mar 2026 14:07:17 +0000 (15:07 +0100)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yurii Motov <yurii.motov.monte@gmail.com>
98 files changed:
docs/ja/docs/_llm-test.md
docs/ja/docs/advanced/additional-responses.md
docs/ja/docs/advanced/additional-status-codes.md
docs/ja/docs/advanced/advanced-dependencies.md
docs/ja/docs/advanced/async-tests.md
docs/ja/docs/advanced/behind-a-proxy.md
docs/ja/docs/advanced/custom-response.md
docs/ja/docs/advanced/dataclasses.md
docs/ja/docs/advanced/events.md
docs/ja/docs/advanced/generate-clients.md
docs/ja/docs/advanced/index.md
docs/ja/docs/advanced/middleware.md
docs/ja/docs/advanced/openapi-callbacks.md
docs/ja/docs/advanced/openapi-webhooks.md
docs/ja/docs/advanced/path-operation-advanced-configuration.md
docs/ja/docs/advanced/response-change-status-code.md
docs/ja/docs/advanced/response-cookies.md
docs/ja/docs/advanced/response-directly.md
docs/ja/docs/advanced/response-headers.md
docs/ja/docs/advanced/security/http-basic-auth.md
docs/ja/docs/advanced/security/index.md
docs/ja/docs/advanced/security/oauth2-scopes.md
docs/ja/docs/advanced/settings.md
docs/ja/docs/advanced/sub-applications.md
docs/ja/docs/advanced/templates.md
docs/ja/docs/advanced/testing-websockets.md
docs/ja/docs/advanced/using-request-directly.md
docs/ja/docs/advanced/websockets.md
docs/ja/docs/advanced/wsgi.md
docs/ja/docs/alternatives.md
docs/ja/docs/async.md
docs/ja/docs/benchmarks.md
docs/ja/docs/deployment/cloud.md
docs/ja/docs/deployment/concepts.md
docs/ja/docs/deployment/docker.md
docs/ja/docs/deployment/fastapicloud.md
docs/ja/docs/deployment/https.md
docs/ja/docs/deployment/index.md
docs/ja/docs/deployment/manually.md
docs/ja/docs/deployment/server-workers.md
docs/ja/docs/deployment/versions.md
docs/ja/docs/environment-variables.md
docs/ja/docs/fastapi-cli.md
docs/ja/docs/features.md
docs/ja/docs/help-fastapi.md
docs/ja/docs/history-design-future.md
docs/ja/docs/how-to/authentication-error-status-code.md
docs/ja/docs/how-to/conditional-openapi.md
docs/ja/docs/how-to/configure-swagger-ui.md
docs/ja/docs/how-to/custom-docs-ui-assets.md
docs/ja/docs/how-to/custom-request-and-route.md
docs/ja/docs/how-to/extending-openapi.md
docs/ja/docs/how-to/general.md
docs/ja/docs/how-to/graphql.md
docs/ja/docs/how-to/index.md
docs/ja/docs/how-to/migrate-from-pydantic-v1-to-pydantic-v2.md
docs/ja/docs/how-to/testing-database.md
docs/ja/docs/index.md
docs/ja/docs/project-generation.md
docs/ja/docs/python-types.md
docs/ja/docs/tutorial/background-tasks.md
docs/ja/docs/tutorial/bigger-applications.md
docs/ja/docs/tutorial/body-nested-models.md
docs/ja/docs/tutorial/body-updates.md
docs/ja/docs/tutorial/body.md
docs/ja/docs/tutorial/cors.md
docs/ja/docs/tutorial/debugging.md
docs/ja/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md
docs/ja/docs/tutorial/dependencies/dependencies-with-yield.md
docs/ja/docs/tutorial/dependencies/global-dependencies.md
docs/ja/docs/tutorial/dependencies/index.md
docs/ja/docs/tutorial/encoder.md
docs/ja/docs/tutorial/extra-data-types.md
docs/ja/docs/tutorial/extra-models.md
docs/ja/docs/tutorial/first-steps.md
docs/ja/docs/tutorial/handling-errors.md
docs/ja/docs/tutorial/index.md
docs/ja/docs/tutorial/metadata.md
docs/ja/docs/tutorial/middleware.md
docs/ja/docs/tutorial/path-operation-configuration.md
docs/ja/docs/tutorial/path-params-numeric-validations.md
docs/ja/docs/tutorial/path-params.md
docs/ja/docs/tutorial/query-params-str-validations.md
docs/ja/docs/tutorial/query-params.md
docs/ja/docs/tutorial/request-files.md
docs/ja/docs/tutorial/request-form-models.md
docs/ja/docs/tutorial/request-forms-and-files.md
docs/ja/docs/tutorial/request-forms.md
docs/ja/docs/tutorial/response-model.md
docs/ja/docs/tutorial/response-status-code.md
docs/ja/docs/tutorial/schema-extra-example.md
docs/ja/docs/tutorial/security/first-steps.md
docs/ja/docs/tutorial/security/oauth2-jwt.md
docs/ja/docs/tutorial/security/simple-oauth2.md
docs/ja/docs/tutorial/sql-databases.md
docs/ja/docs/tutorial/static-files.md
docs/ja/docs/tutorial/testing.md
docs/ja/docs/virtual-environments.md

index b3d9fc28cd486b0dd4bd061ef3285fefc1262292..4c84a7c04c5d5e5aada67e258865c24fb7139bb5 100644 (file)
@@ -11,7 +11,7 @@
 * ç¿»èš³ãŒå•é¡Œãªã„か確認したす。
 * å¿…芁であれば、蚀語固有プロンプト、general ãƒ—ロンプト、たたは英語ドキュメントを改善したす。
 * ãã®åŸŒã€ç¿»èš³ã«æ®‹ã£ãŠã„る問題を手動で修正し、良い翻蚳にしたす。
-* è‰¯ã„翻蚳を甚意した状態でもう䞀床翻蚳したす。理想的な結果は、LLM ãŒç¿»èš³ã«äž€åˆ‡å€‰æ›Žã‚’加えないこずです。぀たり general ãƒ—ロンプトず蚀語固有プロンプトが最良であるこずを意味したす時々いく぀かランダムに芋える倉曎を行うこずがありたす。理由は <a href="https://doublespeak.chat/#/handbook#deterministic-output" class="external-link" target="_blank">LLM ã¯æ±ºå®šè«–的アルゎリズムではない</a> ãŸã‚ã§ã™ïŒ‰ã€‚
+* è‰¯ã„翻蚳を甚意した状態でもう䞀床翻蚳したす。理想的な結果は、LLM ãŒç¿»èš³ã«äž€åˆ‡å€‰æ›Žã‚’加えないこずです。぀たり general ãƒ—ロンプトず蚀語固有プロンプトが最良であるこずを意味したす時々いく぀かランダムに芋える倉曎を行うこずがありたす。理由は [LLM ã¯æ±ºå®šè«–的アルゎリズムではない](https://doublespeak.chat/#/handbook#deterministic-output) ãŸã‚ã§ã™ïŒ‰ã€‚
 
 ãƒ†ã‚¹ãƒˆå†…容:
 
@@ -95,7 +95,7 @@ $ <font color="#4E9A06">fastapi</font> run <u style="text-decoration-style:solid
 ...さらに別のコン゜ヌルのコヌド䟋です...
 
 ```console
-// ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª "code" ã‚’䜜成
+// ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª "Code" ã‚’䜜成
 $ mkdir code
 // ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ç§»å‹•
 $ cd code
@@ -169,15 +169,15 @@ works(foo="bar")  # ã“れは動䜜したす ðŸŽ‰
 ãƒªãƒ³ã‚¯ã®ãƒ†ã‚­ã‚¹ãƒˆã¯ç¿»èš³ã—、リンク先のアドレスは倉曎しないでください:
 
 * [䞊の芋出しぞのリンク](#code-snippets)
-* [内郚リンク](index.md#installation){.internal-link target=_blank}
-* <a href="https://sqlmodel.tiangolo.com/" class="external-link" target="_blank">倖郚リンク</a>
-* <a href="https://fastapi.tiangolo.com/css/styles.css" class="external-link" target="_blank">スタむルぞのリンク</a>
-* <a href="https://fastapi.tiangolo.com/js/logic.js" class="external-link" target="_blank">スクリプトぞのリンク</a>
-* <a href="https://fastapi.tiangolo.com/img/foo.jpg" class="external-link" target="_blank">画像ぞのリンク</a>
+* [内郚リンク](index.md#installation)
+* [倖郚リンク](https://sqlmodel.tiangolo.com/)
+* [スタむルぞのリンク](https://fastapi.tiangolo.com/css/styles.css)
+* [スクリプトぞのリンク](https://fastapi.tiangolo.com/js/logic.js)
+* [画像ぞのリンク](https://fastapi.tiangolo.com/img/foo.jpg)
 
 ãƒªãƒ³ã‚¯ã®ãƒ†ã‚­ã‚¹ãƒˆã¯ç¿»èš³ã—、リンク先のアドレスは翻蚳版を指すようにしおください:
 
-* <a href="https://fastapi.tiangolo.com/ja/" class="external-link" target="_blank">FastAPI ãƒªãƒ³ã‚¯</a>
+* [FastAPI ãƒªãƒ³ã‚¯](https://fastapi.tiangolo.com/ja/)
 
 ////
 
index 4c442578856577c7895f7d7f5687d854dfac15e3..1d7c2f80e1a7f5c0f752bb8602bfa0e38c2615a2 100644 (file)
@@ -243,5 +243,5 @@ new_dict = {**old_dict, "new key": "new value"}
 
 ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã«æ­£ç¢ºã«äœ•を含められるかは、OpenAPI ä»•様の次のセクションを参照しおください:
 
-- <a href="https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#responses-object" class="external-link" target="_blank">OpenAPI ã® Responses Object</a>。ここには `Response Object` ãŒå«ãŸã‚ŒãŸã™ã€‚
-- <a href="https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#response-object" class="external-link" target="_blank">OpenAPI ã® Response Object</a>。`responses` ãƒ‘ラメヌタ内の各レスポンスに、ここで定矩されおいる芁玠を盎接含められたす。`description`、`headers`、`content`ここで異なるメディアタむプや JSON Schema ã‚’宣蚀したす、`links` ãªã©ã€‚
+- [OpenAPI ã® Responses Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#responses-object)、ここには `Response Object` ãŒå«ãŸã‚ŒãŸã™ã€‚
+- [OpenAPI ã® Response Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#response-object)、`responses` ãƒ‘ラメヌタ内の各レスポンスに、ここで定矩されおいる芁玠を盎接含められたす。`description`、`headers`、`content`ここで異なるメディアタむプや JSON Schema ã‚’宣蚀したす、`links` ãªã©ã€‚
index fdac52e837f354dba1af0b3413661e1aac0e27c0..ad9bd57dcdd0ced18151112ee15467b340371717 100644 (file)
@@ -38,4 +38,4 @@
 
 è¿œåŠ ã®ã‚¹ãƒ†ãƒŒã‚¿ã‚¹ã‚³ãƒŒãƒ‰ãšãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚’ç›ŽæŽ¥è¿”ã™å Žåˆã€ãã‚Œã‚‰ã¯ OpenAPI ã‚¹ã‚­ãƒŒãƒžïŒˆAPI ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆïŒ‰ã«ã¯å«ãŸã‚ŒãŸã›ã‚“。FastAPI ã«ã¯ã€äº‹å‰ã«äœ•が返されるかを知る方法がないからです。
 
-しかし、[远加のレスポンス](additional-responses.md){.internal-link target=_blank} ã‚’䜿っおコヌド内にドキュメント化できたす。
+しかし、[远加のレスポンス](additional-responses.md) ã‚’䜿っおコヌド内にドキュメント化できたす。
index d38ce548d14f74ecc1071df9446dd5221224f741..5181e39d828a7272856318df305baf7a0f635005 100644 (file)
@@ -132,7 +132,7 @@ SQLModelたたは SQLAlchemyでこの特定のナヌスケヌスがある
 
 ã“のようにするず、セッションはデヌタベヌス接続を解攟するため、他のリク゚ストがそれを䜿えるようになりたす。
 
-`yield` ã‚’持぀䟝存関係で早期終了が必芁な別のナヌスケヌスがある堎合は、あなたの具䜓的なナヌスケヌスず、なぜ `yield` ã‚’持぀䟝存関係の早期クロヌズが有益かを説明しお、<a href="https://github.com/fastapi/fastapi/discussions/new?category=questions" class="external-link" target="_blank">GitHub Discussion ã®è³ªå•</a>を䜜成しおください。
+`yield` ã‚’持぀䟝存関係で早期終了が必芁な別のナヌスケヌスがある堎合は、あなたの具䜓的なナヌスケヌスず、なぜ `yield` ã‚’持぀䟝存関係の早期クロヌズが有益かを説明しお、[GitHub Discussion ã®è³ªå•](https://github.com/fastapi/fastapi/discussions/new?category=questions)を䜜成しおください。
 
 `yield` ã‚’持぀䟝存関係の早期クロヌズに玍埗できるナヌスケヌスがある堎合は、早期クロヌズにオプトむンする新しい方法を远加するこずを怜蚎したす。
 
@@ -144,7 +144,7 @@ FastAPI 0.110.0 ã‚ˆã‚Šå‰ã§ã¯ã€`yield` ã‚’持぀䟝存関係を䜿い、そ
 
 ### ãƒãƒƒã‚¯ã‚°ãƒ©ã‚Šãƒ³ãƒ‰ã‚¿ã‚¹ã‚¯ãš `yield` ã‚’䌎う䟝存関係、技術詳çް { #background-tasks-and-dependencies-with-yield-technical-details }
 
-FastAPI 0.106.0 ã‚ˆã‚Šå‰ã§ã¯ã€`yield` ã®åŸŒã§äŸ‹å€–を送出するこずはできたせんでした。`yield` ã‚’持぀䟝存関係の終了コヌドはレスポンス送信「埌」に実行されるため、[䟋倖ハンドラ](../tutorial/handling-errors.md#install-custom-exception-handlers){.internal-link target=_blank} ã¯ã™ã§ã«å®Ÿè¡Œæžˆã¿ã§ã—た。
+FastAPI 0.106.0 ã‚ˆã‚Šå‰ã§ã¯ã€`yield` ã®åŸŒã§äŸ‹å€–を送出するこずはできたせんでした。`yield` ã‚’持぀䟝存関係の終了コヌドはレスポンス送信「埌」に実行されるため、[䟋倖ハンドラ](../tutorial/handling-errors.md#install-custom-exception-handlers)はすでに実行枈みでした。
 
 ã“れは䞻に、䟝存関係が "yield" ã—た同じオブゞェクトをバックグラりンドタスク内で利甚できるようにするための蚭蚈でした。終了コヌドはバックグラりンドタスク完了埌に実行されるからです。
 
index 067e9cc9a22ef7e2fdc48cd9fde4668596ae5495..da2968dbf75461f48161e2f61b64cdbb68f36af6 100644 (file)
 
 `TestClient` ã¯ã€æš™æº–の pytest ã‚’䜿っお通垞の `def` ã®ãƒ†ã‚¹ãƒˆé–¢æ•°ã‹ã‚‰éžåŒæœŸã® FastAPI ã‚¢ãƒ—リを呌び出すための「おたじない」を内郚で行いたす。しかし、その「おたじない」はテスト関数自䜓が非同期の堎合には機胜したせん。テストを非同期で実行するず、テスト関数内で `TestClient` ã¯äœ¿ãˆãªããªã‚ŠãŸã™ã€‚
 
-`TestClient` ã¯ <a href="https://www.python-httpx.org" class="external-link" target="_blank">HTTPX</a> ã‚’基に䜜られおおり、幞いなこずに API ã®ãƒ†ã‚¹ãƒˆã«ã¯ HTTPX ã‚’盎接利甚できたす。
+`TestClient` ã¯ [HTTPX](https://www.python-httpx.org) ã‚’基に䜜られおおり、幞いなこずに API ã®ãƒ†ã‚¹ãƒˆã«ã¯ HTTPX ã‚’盎接利甚できたす。
 
 ## äŸ‹ { #example }
 
-簡単な䟋ずしお、[倧きなアプリケヌション](../tutorial/bigger-applications.md){.internal-link target=_blank} ãš [テスト](../tutorial/testing.md){.internal-link target=_blank} ã§èª¬æ˜Žã—たものに䌌たファむル構成を考えたす:
+簡単な䟋ずしお、[倧きなアプリケヌション](../tutorial/bigger-applications.md) ãš [テスト](../tutorial/testing.md) ã§èª¬æ˜Žã—たものに䌌たファむル構成を考えたす:
 
 ```
 .
@@ -60,7 +60,7 @@ $ pytest
 
 /// tip | è±†çŸ¥è­˜
 
-`TestClient` ã‚’䜿っおいたずきず異なり、テスト関数は `def` ã§ã¯ãªã `async def` ã«ãªã£ãŠã„る点に泚意しおください。
+`TestClient` ã‚’䜿っおいたずきず異なり、テスト関数は `async def` ã§ã¯ãªã `def` ã«ãªã£ãŠã„る点に泚意しおください。
 
 ///
 
@@ -84,7 +84,7 @@ response = client.get('/')
 
 /// warning | æ³šæ„
 
-アプリケヌションが lifespan ã‚€ãƒ™ãƒ³ãƒˆã«äŸå­˜ã—おいる堎合、`AsyncClient` ã¯ãã‚Œã‚‰ã®ã‚€ãƒ™ãƒ³ãƒˆã‚’トリガヌしたせん。確実にトリガヌするには、<a href="https://github.com/florimondmanca/asgi-lifespan#usage" class="external-link" target="_blank">florimondmanca/asgi-lifespan</a> ã® `LifespanManager` ã‚’䜿甚しおください。
+アプリケヌションが lifespan ã‚€ãƒ™ãƒ³ãƒˆã«äŸå­˜ã—おいる堎合、`AsyncClient` ã¯ãã‚Œã‚‰ã®ã‚€ãƒ™ãƒ³ãƒˆã‚’トリガヌしたせん。確実にトリガヌするには、[florimondmanca/asgi-lifespan](https://github.com/florimondmanca/asgi-lifespan#usage) ã® `LifespanManager` ã‚’䜿甚しおください。
 
 ///
 
@@ -94,6 +94,6 @@ response = client.get('/')
 
 /// tip | è±†çŸ¥è­˜
 
-テストに非同期関数呌び出しを統合した際に䟋: <a href="https://stackoverflow.com/questions/41584243/runtimeerror-task-attached-to-a-different-loop" class="external-link" target="_blank">MongoDB ã® MotorClient</a> äœ¿ç”šæ™‚ïŒ‰ã€`RuntimeError: Task attached to a different loop` ã«é­é‡ã—た堎合は、むベントルヌプを必芁ずするオブゞェクトは非同期関数内でのみむンスタンス化するようにしおください。䟋えば `@app.on_event("startup")` ã‚³ãƒŒãƒ«ãƒãƒƒã‚¯å†…で行いたす。
+テストに非同期関数呌び出しを統合した際に䟋: [MongoDB ã® MotorClient](https://stackoverflow.com/questions/41584243/runtimeerror-task-attached-to-a-different-loop) äœ¿ç”šæ™‚ïŒ‰ã€`RuntimeError: Task attached to a different loop` ã«é­é‡ã—た堎合は、むベントルヌプを必芁ずするオブゞェクトは非同期関数内でのみむンスタンス化するようにしおください。䟋えば `@app.on_event("startup")` ã‚³ãƒŒãƒ«ãƒãƒƒã‚¯å†…で行いたす。
 
 ///
index 67eaa99092c7fd6a801a7a132e539a573caaf370..108c4377096bcd36e9810d3d4e681f897c54c6e0 100644 (file)
@@ -16,9 +16,9 @@
 
 ãƒ—ロキシのヘッダヌは次のずおりです:
 
-* <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Forwarded-For" class="external-link" target="_blank">X-Forwarded-For</a>
-* <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Forwarded-Proto" class="external-link" target="_blank">X-Forwarded-Proto</a>
-* <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Forwarded-Host" class="external-link" target="_blank">X-Forwarded-Host</a>
+* [X-Forwarded-For](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Forwarded-For)
+* [X-Forwarded-Proto](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Forwarded-Proto)
+* [X-Forwarded-Host](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Forwarded-Host)
 
 ///
 
@@ -60,7 +60,7 @@ https://mysuperapp.com/items/
 
 /// tip | è±†çŸ¥è­˜
 
-HTTPS ã«ã€ã„お詳しく知りたい堎合は、[HTTPS ã«ã€ã„お](../deployment/https.md){.internal-link target=_blank} ã‚’参照しおください。
+HTTPS ã«ã€ã„お詳しく知りたい堎合は、[HTTPS ã«ã€ã„お](../deployment/https.md) ã‚’参照しおください。
 
 ///
 
@@ -228,7 +228,7 @@ $ fastapi run main.py --forwarded-allow-ips="*" --root-path /api/v1
 
 ã‚µãƒŒãƒãƒŒïŒˆUvicornは、その `root_path` ã‚’アプリに枡す以倖の甚途では䜿甚しない点に泚意しおください。
 
-しかし、ブラりザで <a href="http://127.0.0.1:8000/app" class="external-link" target="_blank">http://127.0.0.1:8000/app</a> ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšã€é€šåžžã©ãŠã‚Šã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãŒè¡šç€ºã•れたす:
+しかし、ブラりザで [http://127.0.0.1:8000/app](http://127.0.0.1:8000/app) ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšã€é€šåžžã©ãŠã‚Šã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãŒè¡šç€ºã•れたす:
 
 ```JSON
 {
@@ -251,9 +251,9 @@ Uvicorn ã¯ã€ãƒ—ロキシが `http://127.0.0.1:8000/app` ã«ã‚¢ã‚¯ã‚»ã‚¹ã—お
 
 ## Traefik ã‚’䜿ったロヌカル怜蚌 { #testing-locally-with-traefik }
 
-<a href="https://docs.traefik.io/" class="external-link" target="_blank">Traefik</a> ã‚’䜿えば、パスプレフィックスを削陀する構成をロヌカルで簡単に詊せたす。
+[Traefik](https://docs.traefik.io/) ã‚’䜿えば、パスプレフィックスを削陀する構成をロヌカルで簡単に詊せたす。
 
-<a href="https://github.com/containous/traefik/releases" class="external-link" target="_blank">Traefik ã‚’ダりンロヌド</a> ã—おください。単䞀バむナリなので、圧瞮ファむルを展開しお端末から盎接実行できたす。
+[Traefik ã‚’ダりンロヌド](https://github.com/containous/traefik/releases) ã—おください。単䞀バむナリなので、圧瞮ファむルを展開しお端末から盎接実行できたす。
 
 æ¬¡ã®å†…容で `traefik.toml` ãšã„うファむルを䜜成したす:
 
@@ -330,7 +330,7 @@ $ fastapi run main.py --forwarded-allow-ips="*" --root-path /api/v1
 
 ### ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã®ç¢ºèª { #check-the-responses }
 
-ここで、Uvicorn ã®ãƒãƒŒãƒˆã® URL <a href="http://127.0.0.1:8000/app" class="external-link" target="_blank">http://127.0.0.1:8000/app</a> ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšã€é€šåžžã©ãŠã‚Šã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãŒè¡šç€ºã•れたす:
+ここで、Uvicorn ã®ãƒãƒŒãƒˆã® URL [http://127.0.0.1:8000/app](http://127.0.0.1:8000/app) ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšã€é€šåžžã©ãŠã‚Šã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãŒè¡šç€ºã•れたす:
 
 ```JSON
 {
@@ -345,7 +345,7 @@ $ fastapi run main.py --forwarded-allow-ips="*" --root-path /api/v1
 
 ///
 
-次に、Traefik ã®ãƒãƒŒãƒˆã§ãƒ—レフィックス付きの URL <a href="http://127.0.0.1:9999/api/v1/app" class="external-link" target="_blank">http://127.0.0.1:9999/api/v1/app</a> ã‚’開きたす。
+次に、Traefik ã®ãƒãƒŒãƒˆã§ãƒ—レフィックス付きの URL [http://127.0.0.1:9999/api/v1/app](http://127.0.0.1:9999/api/v1/app) ã‚’開きたす。
 
 åŒã˜ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãŒåŸ—られたす:
 
@@ -370,13 +370,13 @@ $ fastapi run main.py --forwarded-allow-ips="*" --root-path /api/v1
 
 ã€Œå…¬åŒãªã€ã‚¢ã‚¯ã‚»ã‚¹æ–¹æ³•は、定矩したパスプレフィックス付きのプロキシ経由です。したがっお想定どおり、プレフィックスなしの URL ã§ Uvicorn ãŒç›ŽæŽ¥æäŸ›ã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ UI ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšå‹•䜜したせん。プロキシ経由でアクセスされるこずを前提ずしおいるためです。
 
-<a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a> ã‚’確認しおください:
+[http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) ã‚’確認しおください:
 
 <img src="/img/tutorial/behind-a-proxy/image01.png">
 
 ã—かし、プロキシポヌト `9999`を䜿った「公匏」URL `/api/v1/docs` ã§ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ UI ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšã€æ­£ã—く動䜜したす🎉
 
-<a href="http://127.0.0.1:9999/api/v1/docs" class="external-link" target="_blank">http://127.0.0.1:9999/api/v1/docs</a> ã‚’確認しおください:
+[http://127.0.0.1:9999/api/v1/docs](http://127.0.0.1:9999/api/v1/docs) ã‚’確認しおください:
 
 <img src="/img/tutorial/behind-a-proxy/image02.png">
 
@@ -433,7 +433,7 @@ $ fastapi run main.py --forwarded-allow-ips="*" --root-path /api/v1
 
 ///
 
-ドキュメント UI<a href="http://127.0.0.1:9999/api/v1/docs" class="external-link" target="_blank">http://127.0.0.1:9999/api/v1/docs</a>では次のように衚瀺されたす:
+ドキュメント UI[http://127.0.0.1:9999/api/v1/docs](http://127.0.0.1:9999/api/v1/docs)では次のように衚瀺されたす:
 
 <img src="/img/tutorial/behind-a-proxy/image03.png">
 
@@ -461,6 +461,6 @@ OpenAPI ä»•様の `servers` ãƒ—ロパティは任意です。
 
 ## ã‚µãƒ–アプリケヌションのマりント { #mounting-a-sub-application }
 
-`root_path` ã‚’䌎うプロキシを䜿甚し぀぀サブアプリケヌションをマりントする必芁がある堎合でも[サブアプリケヌション - ãƒžã‚Šãƒ³ãƒˆ](sub-applications.md){.internal-link target=_blank} å‚照、通垞どおりに行えたす。
+`root_path` ã‚’䌎うプロキシを䜿甚し぀぀サブアプリケヌションをマりントする必芁がある堎合でも[サブアプリケヌション - ãƒžã‚Šãƒ³ãƒˆ](sub-applications.md) å‚照、通垞どおりに行えたす。
 
 FastAPI ã¯å†…郚で `root_path` ã‚’適切に扱うため、そのたた動䜜したす。✚
index 50a78916588818f9dfca8d9d54f8ab30f0ea378c..e66b1f4944f5d406dae40ba99afafffd881d0c0b 100644 (file)
-# ã‚«ã‚¹ã‚¿ãƒ ãƒ¬ã‚¹ãƒãƒ³ã‚¹ - HTML、ストリヌム、ファむル、その他のレスポンス { #custom-response-html-stream-file-others }
+# ã‚«ã‚¹ã‚¿ãƒ ãƒ¬ã‚¹ãƒãƒ³ã‚¹ - HTML、ストリヌム、ファむル、その他 { #custom-response-html-stream-file-others }
 
-デフォルトでは、**FastAPI** ã¯ `JSONResponse` ã‚’䜿っおレスポンスを返したす。
+デフォルトでは、**FastAPI** ã¯JSONレスポンスを返したす。
 
-[レスポンスを盎接返す](response-directly.md){.internal-link target=_blank}で芋たように、 `Response` ã‚’盎接返すこずでこの挙動をオヌバヌラむドできたす。
+[レスポンスを盎接返す](response-directly.md)で芋たように、`Response` ã‚’盎接返しおこの挙動を䞊曞きできたす。
 
-しかし、`Response` ã‚’盎接返すずたたは `JSONResponse` ã®ã‚ˆã†ãªä»»æ„ã®ã‚µãƒ–クラスを返すず、デヌタは自動的に倉換されず`response_model` ã‚’宣蚀しおいおも、ドキュメントも自動生成されたせん䟋えば、生成されるOpenAPIの䞀郚ずしおHTTPヘッダヌ `Content-Type` ã«ç‰¹å®šã®ã€Œãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚€ãƒ—」を含めるなど。
+しかし、`Response`たたは `JSONResponse` ã®ã‚ˆã†ãªä»»æ„ã®ã‚µãƒ–クラスを盎接返す堎合、`response_model` ã‚’宣蚀しおいおもデヌタは自動的に倉換されず、ドキュメントも自動生成されたせん䟋えば、生成されるOpenAPIの䞀郚ずしおHTTPヘッダヌ `Content-Type` ã«ç‰¹å®šã®ã€Œãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚€ãƒ—」を含めるなど。
 
-`response_class` ãƒ‘ラメヌタを䜿甚しお、*path operation ãƒ‡ã‚³ãƒ¬ãƒŒã‚¿* ã§äœ¿ç”šã—たい `Response`任意の `Response` ã‚µãƒ–クラスを宣蚀するこずもできたす。
+䞀方で、*path operation ãƒ‡ã‚³ãƒ¬ãƒŒã‚¿* ã® `response_class` ãƒ‘ラメヌタを䜿っお、䜿甚したい `Response``Response` ã®ä»»æ„ã®ã‚µãƒ–クラスを宣蚀するこずもできたす。
 
-*path operation é–¢æ•°* ã‹ã‚‰è¿”されるコンテンツは、その `Response` ã«å«ãŸã‚ŒãŸã™ã€‚
-
-そしおその `Response` ãŒã€`JSONResponse` ã‚„ `UJSONResponse` ã®å Žåˆã®ã‚ˆã†ã«JSONメディアタむプ`application/json`なら、関数の返り倀は *path operationデコレヌタ* ã«å®£èš€ã—た任意のPydantic `response_model` ã«ã‚ˆã‚Šè‡ªå‹•的に倉換およびフィルタされたす。
+*path operation é–¢æ•°* ã‹ã‚‰è¿”したコンテンツは、その `Response` ã«æ ŒçŽã•ã‚ŒãŸã™ã€‚
 
 /// note | å‚™è€ƒ
 
-ã\83¡ã\83\87ã\82£ã\82¢ã\82¿ã\82ۋ\83\97ã\82\92Ê\8c\87å®\9aã\81\9bã\81\9aã\81«ã\83‹\82¹ã\83\9dã\83³ã\82¹ã\82¯ã\83©ã\82¹ã\82\92Ã¥\88©ç\94šã\81\99ã\82\8bã\81šã\80\81FastAPIã\81¯ã\83‹\82¹ã\83\9dã\83³ã\82¹ã\81«ã\82³ã\83³ã\83\86ã\83³ã\83\84ã\81\8cã\81ªã\81\84ã\81\93ã\81šã\82\92Ê\9c\9fåŸ\85ã\81\97ã\81Ÿã\81\99ã\80\82ã\81\9dã\81®ã\81\9fã\82\81ã\80\81ç\94\9fÊ\88\90ã\81\95ã\82\8cã\82\8bOpenAPIã\83\89ã\82­ã\83¥ã\83¡ã\83³ã\83\88ã\81«ã\83‹\82¹ã\83\9dã\83³ã\82¹ã\83\95ã\82©ã\83΋\83\9eã\83\83ã\83\88ã\81\8c蚘茉されたせん。
+ã\83¡ã\83\87ã\82£ã\82¢ã\82¿ã\82ۋ\83\97ã\82\92Ê\8c\81ã\81\9fã\81ªã\81\84ã\83‹\82¹ã\83\9dã\83³ã\82¹ã\82¯ã\83©ã\82¹ã\82\92Àœ¿ç\94šã\81\99ã\82\8bã\81šã\80\81FastAPIã\81¯ã\83‹\82¹ã\83\9dã\83³ã\82¹ã\81«ã\82³ã\83³ã\83\86ã\83³ã\83\84ã\81\8cã\81ªã\81\84ã\82\82ã\81®ã\81šÚŠ\8bã\81ªã\81\97ã\81Ÿã\81\99ã\80\82ã\81\9dã\81®ã\81\9fã\82\81ã\80\81ç\94\9fÊ\88\90ã\81\95ã\82\8cã\82\8bOpenAPIã\83\89ã\82­ã\83¥ã\83¡ã\83³ã\83\88ã\81«ã\83‹\82¹ã\83\9dã\83³ã\82¹ã\83\95ã\82©ã\83΋\83\9eã\83\83ã\83\88ã\81¯蚘茉されたせん。
 
 ///
 
-## `ORJSONResponse` ã‚’䜿う { #use-orjsonresponse }
-
-䟋えば、パフォヌマンスを絞り出したい堎合は、<a href="https://github.com/ijl/orjson" class="external-link" target="_blank">`orjson`</a>をむンストヌルし、レスポンスずしお `ORJSONResponse` ã‚’セットできたす。
-
-䜿いたい `Response` ã‚¯ãƒ©ã‚¹ïŒˆã‚µãƒ–クラスをむンポヌトし、*path operationデコレヌタ* ã«å®£èš€ã—たす。
+## JSONレスポンス { #json-responses }
 
-倧きなレスポンスの堎合、`Response` ã‚’盎接返すほうが、蟞曞を返すよりもはるかに高速です。
+FastAPI ã¯ãƒ‡ãƒ•ォルトでJSONレスポンスを返したす。
 
-これは、デフォルトではFastAPIがチュヌトリアルで説明した同じ[JSON Compatible Encoder](../tutorial/encoder.md){.internal-link target=_blank}を䜿っお、内郚の各アむテムを怜査し、JSONずしおシリアラむズ可胜であるこずを確認するためです。これにより、䟋えばデヌタベヌスモデルのような**任意のオブゞェクト**を返せたす。
+[レスポンスモデル](../tutorial/response-model.md) ã‚’宣蚀するず、FastAPI ã¯ Pydantic ã‚’䜿っおデヌタをJSONにシリアラむズしたす。
 
-しかし、返そうずしおいるコンテンツが **JSONでシリアラむズ可胜**であるこずが確実なら、それを盎接レスポンスクラスに枡しお、FastAPIがレスポンスクラスぞ枡す前に返华コンテンツを `jsonable_encoder` ã«é€šã™ã“ずで発生する远加のオヌバヌヘッドを回避できたす。
-
-{* ../../docs_src/custom_response/tutorial001b_py310.py hl[2,7] *}
-
-/// info | æƒ…å ±
+レスポンスモデルを宣蚀しない堎合、FastAPI ã¯ [JSON Compatible Encoder](../tutorial/encoder.md) ã§èª¬æ˜Žã—た `jsonable_encoder` ã‚’䜿い、その結果を `JSONResponse` ã«å…¥ã‚ŒãŸã™ã€‚
 
-パラメヌタ `response_class` ã¯ã€ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã®ã€Œãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚€ãƒ—」を定矩するためにも利甚されたす。
+`JSONResponse` ã®ã‚ˆã†ã«JSONメディアタむプ`application/json`を持぀ `response_class` ã‚’宣蚀した堎合、*path operation ãƒ‡ã‚³ãƒ¬ãƒŒã‚¿* ã«å®£èš€ã—た任意のPydanticの `response_model` ã«åŸ“っお、返すデヌタは自動的に倉換およびフィルタされたす。ただし、そのデヌタは Pydantic ã§JSONのバむト列にシリアラむズされるわけではなく、たず `jsonable_encoder` ã§å€‰æ›ã•れた埌に `JSONResponse` ã‚¯ãƒ©ã‚¹ãžæž¡ã•れ、Pythonの暙準JSONラむブラリでバむト列にシリアラむズされたす。
 
-この堎合、HTTPヘッダヌ `Content-Type` ã«ã¯ `application/json` ãŒã‚»ãƒƒãƒˆã•れたす。
-
-そしお、OpenAPIにはそのようにドキュメントされたす。
-
-///
-
-/// tip | è±†çŸ¥è­˜
+### JSONのパフォヌマンス { #json-performance }
 
-`ORJSONResponse` ã¯FastAPIでのみ利甚可胜で、Starletteでは利甚できたせん。
+結論ずしお、最倧のパフォヌマンスを埗たい堎合は、[レスポンスモデル](../tutorial/response-model.md) ã‚’䜿い、*path operation ãƒ‡ã‚³ãƒ¬ãƒŒã‚¿* ã§ `response_class` ã¯å®£èš€ã—ないでください。
 
-///
+{* ../../docs_src/response_model/tutorial001_01_py310.py ln[15:17] hl[16] *}
 
 ## HTMLレスポンス { #html-response }
 
-**FastAPI** ã‹ã‚‰HTMLを盎接返す堎合は、`HTMLResponse` ã‚’䜿いたす。
+**FastAPI** ã‹ã‚‰HTMLを盎接返すには、`HTMLResponse` ã‚’䜿いたす。
 
-* `HTMLResponse` ã‚’むンポヌトする。
-* *path operation ãƒ‡ã‚³ãƒ¬ãƒŒã‚¿* ã®ãƒ‘ラメヌタ `response_class` ã« `HTMLResponse` ã‚’枡す。
+* `HTMLResponse` ã‚’むンポヌトする
+* *path operation ãƒ‡ã‚³ãƒ¬ãƒŒã‚¿* ã®ãƒ‘ラメヌタ `response_class` ã« `HTMLResponse` ã‚’枡す
 
 {* ../../docs_src/custom_response/tutorial002_py310.py hl[2,7] *}
 
 /// info | æƒ…å ±
 
-パラメヌタ `response_class` ã¯ã€ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã®ã€Œãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚€ãƒ—」を定矩するためにも利甚されたす。
+パラメヌタ `response_class` ã¯ã€ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã®ã€Œãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚€ãƒ—」を定矩するためにも䜿甚されたす。
 
-この堎合、HTTPヘッダヌ `Content-Type` ã«ã¯ `text/html` ãŒã‚»ãƒƒãƒˆã•れたす。
+この堎合、HTTPヘッダヌ `Content-Type` ã«ã¯ `text/html` ãŒèš­å®šã•れたす。
 
-ã\81\9dã\81\97ã\81Šã\80\81OpenAPIã\81«ã\81¯ã\81\9dã\81®ã\82\88ã\81\86ã\81«ã\83\89ã\82­ã\83¥ã\83¡ã\83³ã\83\88されたす。
+ã\81\9dã\81\97ã\81Šã\80\81OpenAPIã\81«ã\82\82ã\81\9dã\81®ã\82\88ã\81\86ã\81«ã\83\89ã\82­ã\83¥ã\83¡ã\83³ã\83\88Ã¥\8c\96されたす。
 
 ///
 
 ### `Response` ã‚’返す { #return-a-response }
 
-[レスポンスを盎接返す](response-directly.md){.internal-link target=_blank}で芋たように、レスポンスを返すこずで、*path operation* ã®äž­ã§ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚’盎接オヌバヌラむドするこずもできたす。
+[レスポンスを盎接返す](response-directly.md)で芋たように、*path operation* ã®äž­ã§ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚’盎接返しお䞊曞きするこずもできたす。
 
-Àž\8aښ\98ã\81šå\90\8cã\81\98ÀŸ\8bã\81«ã\81\8aã\81\84ã\81Šã\80\81 `HTMLResponse` Ã£\82\92Ú¿\94ã\81\99ã\81šã\80\81ã\81\93のようになりたす:
+Àž\8aښ\98ã\81šå\90\8cã\81\98ÀŸ\8bã\81§ã\80\81`HTMLResponse` Ã£\82\92Ú¿\94ã\81\99ã\81šÊ¬¡のようになりたす:
 
 {* ../../docs_src/custom_response/tutorial003_py310.py hl[2,7,19] *}
 
 /// warning | æ³šæ„
 
-*path operation関数* ã‹ã‚‰ç›ŽæŽ¥è¿”される `Response` ã¯ã€OpenAPIにドキュメントされず䟋えば、`Content-Type` ãŒãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã•れない、自動的な察話的ドキュメントでも衚瀺されたせん。
+*path operation é–¢æ•°* ã‹ã‚‰ç›ŽæŽ¥è¿”される `Response` ã¯ã€OpenAPIにドキュメント化されず䟋えば `Content-Type` ãŒãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆåŒ–されない、自動生成の察話的ドキュメントにも衚瀺されたせん。
 
 ///
 
 /// info | æƒ…å ±
 
-ã\82\82ã\81¡ã\82\8dã\82\93ã\80\81å®\9fé\9a\9bã\81® `Content-Type` Ã£\83\98ã\83\83ã\83\80ã\83΋\82\84ã\82¹ã\83\86ã\83΋\82¿ã\82¹ã\82³ã\83΋\83\89ã\81ªã\81©ã\81¯ã\80\81Ú¿\94ã\81\95ã\82\8cた `Response` ã‚ªãƒ–ゞェクトに由来したす。
+ã\82\82ã\81¡ã\82\8dã\82\93ã\80\81å®\9fé\9a\9bã\81® `Content-Type` Ã£\83\98ã\83\83ã\83\80ã\83΋\82\84ã\82¹ã\83\86ã\83΋\82¿ã\82¹ã\82³ã\83΋\83\89ã\81ªã\81©ã\81¯ã\80\81Ú¿\94ã\81\97た `Response` ã‚ªãƒ–ゞェクトに由来したす。
 
 ///
 
-### OpenAPIã\83\89ã\82­ã\83¥ã\83¡ã\83³ã\83\88ã\81š `Response` Ã£\81®ã\82ªã\83΋\83\90ã\83΋\83©ã\82ۋ\83\89 { #document-in-openapi-and-override-response }
+### OpenAPIã\81«ã\83\89ã\82­ã\83¥ã\83¡ã\83³ã\83\88Ã¥\8c\96ã\81\97ã\81ۋ\81€ `Response` Ã£\82\92Àž\8aÊ\9bžã\81\8d { #document-in-openapi-and-override-response }
 
-é\96¢Ê\95°ã\81®Àž­ã\81§ã\83‹\82¹ã\83\9dã\83³ã\82¹ã\82\92ã\82ªã\83΋\83\90ã\83΋\83©ã\82ۋ\83\89ã\81\97ã\81ۋ\81ۋ\82\82ã\80\81OpenAPI Ã£\81«ã\80\8cã\83¡ã\83\87ã\82£ã\82¢ã\82¿ã\82ۋ\83\97ã\80\8dã\82\92ã\83\89ã\82­ã\83¥ã\83¡ã\83³ã\83\88Ã¥\8c\96ã\81\97ã\81\9fã\81\84ã\81ªã\82\89、`response_class` ãƒ‘ラメヌタを䜿甚し、か぀ `Response` ã‚ªãƒ–ゞェクトを返したす。
+é\96¢Ê\95°ã\81®Àž­ã\81\8bã\82\89ã\83‹\82¹ã\83\9dã\83³ã\82¹ã\82\92Àž\8aÊ\9bžã\81\8dã\81\97ã\81ۋ\81ۋ\80\81Ã¥\90\8cÊ\99\82ã\81«OpenAPIã\81§ã\80\8cã\83¡ã\83\87ã\82£ã\82¢ã\82¿ã\82ۋ\83\97ã\80\8dã\82\92ã\83\89ã\82­ã\83¥ã\83¡ã\83³ã\83\88Ã¥\8c\96ã\81\97ã\81\9fã\81\84堎å\90\88ã\81¯、`response_class` ãƒ‘ラメヌタを䜿甚し、か぀ `Response` ã‚ªãƒ–ゞェクトを返したす。
 
-`response_class` ã¯OpenAPIの*path operation*のドキュメント化のためにのみ䜿甚され、`Response` ã¯ãã®ãŸãŸäœ¿ç”šã•れたす。
+この堎合、`response_class` ã¯OpenAPIの *path operation* ã‚’ドキュメント化するためだけに䜿われ、実際には返した `Response` ãŒãã®ãŸãŸäœ¿ç”šã•れたす。
 
 #### `HTMLResponse` ã‚’盎接返す { #return-an-htmlresponse-directly }
 
-䟋えば、このようになりたす:
+䟋えば、次のようになりたす:
 
 {* ../../docs_src/custom_response/tutorial004_py310.py hl[7,21,23] *}
 
-この䟋では、関数 `generate_html_response()` ã¯ã€`str` ã®HTMLを返すのではなく、`Response` ã‚’生成しお返しおいたす。
+この䟋では、関数 `generate_html_response()` ã¯HTMLの `str` ã‚’返すのではなく、すでに `Response` ã‚’生成しお返しおいたす。
 
-`generate_html_response()` Ã£\82\92Ã¥\91΋\81³å\87ºã\81\97ã\81\9fçµ\90Ê\9e\9cã\82\92Ú¿\94ã\81\99ã\81\93ã\81šã\81«ã\82\88ã\82\8aã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81® **FastAPI** Ã£\81®Ê\8c\99Ã¥\8b\95ã\82\92ã\82ªã\83΋\83\90ã\83΋\83©ã\82ۋ\83\89する `Response` ã‚’すでに返しおいたす。
+`generate_html_response()` Ã£\81®å\91΋\81³å\87ºã\81\97çµ\90Ê\9e\9cã\82\92Ú¿\94ã\81\99ã\81\93ã\81šã\81§ã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81® **FastAPI** Ã£\81®Ê\8c\99Ã¥\8b\95ã\82\92Àž\8aÊ\9bžã\81\8dする `Response` ã‚’すでに返しおいたす。
 
-ã\81\97ã\81\8bã\81\97ã\80\81`response_class` Ã£\81«ã\82\82 `HTMLResponse` Ã£\82\92ʞ¡ã\81\97ã\81Šã\81\84ã\82\8bã\81\9fã\82\81ã\80\81**FastAPI** Ã£\81¯OpenAPIã\81šå¯ŸÚ©±ç\9a\84ã\83\89ã\82­ã\83¥ã\83¡ã\83³ã\83\88ã\81§ã\80\81`text/html` Ã£\81®HTMLã\81šã\81\97ã\81Šã\81©ã\81®ã\82\88ã\81\86ã\81«ã\83\89ã\82­ã\83¥ã\83¡ã\83³ã\83\88Ã¥\8c\96ã\81\99ã\82\8cã\81°ã\82\88ã\81\84ã\81\8bã\82\92ç\90\86Ú§£できたす:
+ã\81\97ã\81\8bã\81\97ã\80\81`response_class` Ã£\81«ã\82\82 `HTMLResponse` Ã£\82\92ʞ¡ã\81\97ã\81Šã\81\84ã\82\8bã\81\9fã\82\81ã\80\81**FastAPI** Ã£\81¯OpenAPIã\81\8aã\82\88ã\81³å¯ŸÚ©±ç\9a\84ã\83\89ã\82­ã\83¥ã\83¡ã\83³ã\83\88ã\81§ã\80\81ã\81\9dã\82\8cã\81\8c `text/html` Ã£\81®HTMLã\81§ã\81\82ã\82\8bã\81šÊ­£ã\81\97ã\81\8fã\83\89ã\82­ã\83¥ã\83¡ã\83³ã\83\88Ã¥\8c\96できたす:
 
 <img src="/img/tutorial/custom-response/image01.png">
 
 ## åˆ©ç”šå¯èƒœãªãƒ¬ã‚¹ãƒãƒ³ã‚¹ { #available-responses }
 
-À»¥Àž\8bã\81\8c利甚可胜なレスポンスの䞀郚です。
+À»¥Àž\8bã\81¯利甚可胜なレスポンスの䞀郚です。
 
-`Response` ã‚’䜿っお他の䜕かを返せたすし、カスタムのサブクラスも䜜れるこずを芚えおおいおください。
+`Response` ã‚’䜿っお他のものを返したり、カスタムサブクラスを䜜成するこずもできたす。
 
 /// note | æŠ€è¡“詳çް
 
-`from starlette.responses import HTMLResponse` Ã£\82\82Ã¥\88©ç\94šできたす。
+`from starlette.responses import HTMLResponse` Ã£\82\92Àœ¿ã\81\86ã\81\93ã\81šã\82\82できたす。
 
-**FastAPI** Ã£\81¯é\96\8bç\99ºÚ\80\85ã\81®å\88©ÀŸ¿Ê\80§ã\81®ã\81\9fã\82\81ã\81«ã\80\81`starlette.responses` Ã£\81šå\90\8cã\81\98ã\82\82ã\81®ã\82\92 `fastapi.responses` Ã£\81šã\81\97ã\81ŠÊ\8f\90ÀŸ\9bã\81\97ã\81Šã\81\84ã\81Ÿã\81\99ã\80\82ã\81\97ã\81\8bã\81\97ã\80\81Ã¥\88©ç\94šå\8f¯Ú\83ϋ\81ªã\83‹\82¹ã\83\9dã\83³ã\82¹ã\81®ã\81ȋ\81šã\82\93ã\81©ã\81¯Starletteã\81\8bã\82\89ç\9bŽÊ\8e¥Ê\8f\90ÀŸ\9bã\81\95ã\82\8cたす。
+**FastAPI** Ã£\81¯é\96\8bç\99ºÚ\80\85ã\81®å\88©ÀŸ¿Ê\80§ã\81®ã\81\9fã\82\81ã\81«ã\80\81`starlette.responses` Ã£\81šå\90\8cã\81\98ã\82\82ã\81®ã\82\92 `fastapi.responses` Ã£\81šã\81\97ã\81ŠÊ\8f\90ÀŸ\9bã\81\97ã\81Šã\81\84ã\81Ÿã\81\99ã\80\82ã\81\9fã\81 ã\81\97ã\80\81Ã¥\88©ç\94šå\8f¯Ú\83ϋ\81ªã\83‹\82¹ã\83\9dã\83³ã\82¹ã\81®å€\9aã\81\8fã\81¯Starletteã\81\8bã\82\89ç\9bŽÊ\8e¥Ê\8f\90ÀŸ\9bã\81\95ã\82\8cã\81Šã\81\84たす。
 
 ///
 
 ### `Response` { #response }
 
-メむンの `Response` ã‚¯ãƒ©ã‚¹ã§ã€ä»–の党おのレスポンスはこれを継承しおいたす。
+メむンの `Response` ã‚¯ãƒ©ã‚¹ã§ã€ä»–のすべおのレスポンスはこれを継承しおいたす。
 
 ç›ŽæŽ¥è¿”すこずができたす。
 
 ä»¥äž‹ã®ãƒ‘ラメヌタを受け付けたす。
 
-* `content` - `str` Ã£\81\8b `bytes`ã\80\82
-* `status_code` - `int` ã®HTTPステヌタスコヌド。
-* `headers` - æ–‡å­—列の `dict` ã€‚
-* `media_type` - ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚€ãƒ—を瀺す `str` ã€‚䟋えば `"text/html"` ã€‚
+* `content` - `str` Ã£\81Ÿã\81\9fã\81¯ `bytes`
+* `status_code` - `int` ã®HTTPステヌタスコヌド
+* `headers` - æ–‡å­—列の `dict`
+* `media_type` - ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚€ãƒ—を瀺す `str`。䟋: `"text/html"`
 
-FastAPI実際にはStarletteは自動的にContent-Lengthヘッダヌを含みたす。たた、`media_type` ã«åŸºã¥ã„たContent-Typeヘッダヌを含み、テキストタむプのためにcharsetを远加したす。
+FastAPI実際にはStarletteは自動的に Content-Length ãƒ˜ãƒƒãƒ€ãƒŒã‚’含めたす。たた、`media_type` ã«åŸºã¥ã„た Content-Type ãƒ˜ãƒƒãƒ€ãƒŒã‚’含め、テキストタむプには charset ã‚’远加したす。
 
 {* ../../docs_src/response_directly/tutorial002_py310.py hl[1,18] *}
 
 ### `HTMLResponse` { #htmlresponse }
 
-䞊で読んだように、テキストやバむトを受け取り、HTMLレスポンスを返したす。
+䞊で読んだように、テキストやバむト列を受け取り、HTMLレスポンスを返したす。
 
 ### `PlainTextResponse` { #plaintextresponse }
 
-テキストやバむトを受け取り、プレヌンテキストのレスポンスを返したす。
+テキストやバむト列を受け取り、プレヌンテキストのレスポンスを返したす。
 
 {* ../../docs_src/custom_response/tutorial005_py310.py hl[2,7,9] *}
 
@@ -152,45 +136,19 @@ FastAPI実際にはStarletteは自動的にContent-Lengthヘッダヌを
 
 ãƒ‡ãƒŒã‚¿ã‚’受け取り、`application/json` ãšã—お゚ンコヌドされたレスポンスを返したす。
 
-䞊で読んだように、**FastAPI** ã®ãƒ‡ãƒ•ォルトのレスポンスずしお利甚されたす。
-
-### `ORJSONResponse` { #orjsonresponse }
-
-䞊で読んだように、<a href="https://github.com/ijl/orjson" class="external-link" target="_blank">`orjson`</a>を䜿った、高速な代替のJSONレスポンスです。
-
-/// info | æƒ…å ±
-
-これは、䟋えば `pip install orjson` ã§ `orjson` ã‚’むンストヌルする必芁がありたす。
+これは、䞊で述べたように **FastAPI** ã®ãƒ‡ãƒ•ォルトのレスポンスです。
 
-///
-
-### `UJSONResponse` { #ujsonresponse }
-
-<a href="https://github.com/ultrajson/ultrajson" class="external-link" target="_blank">`ujson`</a>を䜿った、代替のJSONレスポンスです。
-
-/// info | æƒ…å ±
-
-これは、䟋えば `pip install ujson` ã§ `ujson` ã‚’むンストヌルする必芁がありたす。
-
-///
-
-/// warning | æ³šæ„
-
-`ujson` ã¯ã€ã„く぀かの゚ッゞケヌスの取り扱いに぀いお、Pythonにビルトむンされた実装ほど泚意深くありたせん。
-
-///
-
-{* ../../docs_src/custom_response/tutorial001_py310.py hl[2,7] *}
+/// note | æŠ€è¡“詳çް
 
-/// tip | è±†çŸ¥è­˜
+ただし、レスポンスモデルや返华型を宣蚀した堎合は、それが盎接デヌタのJSONシリアラむズに䜿われ、適切なJSONのメディアタむプを持぀レスポンスが `JSONResponse` ã‚¯ãƒ©ã‚¹ã‚’䜿わずに盎接返されたす。
 
-`ORJSONResponse` ã®ã»ã†ãŒé«˜é€Ÿãªä»£æ›¿ã‹ã‚‚しれたせん。
+これが最適なパフォヌマンスを埗る理想的な方法です。
 
 ///
 
 ### `RedirectResponse` { #redirectresponse }
 
-HTTPã\83ªã\83\80ã\82ۋ\83‹\82¯ã\83\88ã\82\92Ú¿\94ã\81\97ã\81Ÿã\81\99ã\80\82ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81¯307ã\82¹ã\83\86ã\83΋\82¿ã\82¹ã\82³ã\83΋\83\89ïŒ\88Temporary RedirectïŒ\89ã\81šã\81ªã\82\8aたす。
+HTTPã\83ªã\83\80ã\82ۋ\83‹\82¯ã\83\88ã\82\92Ú¿\94ã\81\97ã\81Ÿã\81\99ã\80\82ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81§ã\81¯307ã\82¹ã\83\86ã\83΋\82¿ã\82¹ã\82³ã\83΋\83\89ïŒ\88Temporary RedirectïŒ\89ã\82\92Àœ¿ç\94šã\81\97たす。
 
 `RedirectResponse` ã‚’盎接返せたす:
 
@@ -202,56 +160,50 @@ HTTPリダむレクトを返したす。デフォルトでは307ステヌタス
 
 {* ../../docs_src/custom_response/tutorial006b_py310.py hl[2,7,9] *}
 
-その堎合、*path operation*関数からURLを盎接返せたす。
+その堎合、*path operation* é–¢æ•°ã‹ã‚‰URLを盎接返せたす。
 
-この堎合に䜿甚される `status_code` ã¯ `RedirectResponse` ã®ãƒ‡ãƒ•ォルトである `307` ã«ãªã‚ŠãŸã™ã€‚
+この堎合に䜿甚される `status_code` ã¯ã€`RedirectResponse` ã®ãƒ‡ãƒ•ォルトである `307` ã«ãªã‚ŠãŸã™ã€‚
 
 ---
 
-ã\81Ÿã\81\9f、`status_code` ãƒ‘ラメヌタを `response_class` ãƒ‘ラメヌタず組み合わせお䜿うこずもできたす:
+ã\81\95ã\82\89ã\81«、`status_code` ãƒ‘ラメヌタを `response_class` ãƒ‘ラメヌタず組み合わせお䜿うこずもできたす:
 
 {* ../../docs_src/custom_response/tutorial006c_py310.py hl[2,7,9] *}
 
 ### `StreamingResponse` { #streamingresponse }
 
-非同期ゞェネレヌタ、たたは通垞のゞェネレヌタ/むテレヌタを受け取り、レスポンスボディをストリヌムしたす。
+非同期ゞェネレヌタ、たたは通垞のゞェネレヌタ/むテレヌタ`yield` ã‚’持぀関数を受け取り、レスポンスボディをストリヌムしたす。
 
-{* ../../docs_src/custom_response/tutorial007_py310.py hl[2,14] *}
+{* ../../docs_src/custom_response/tutorial007_py310.py hl[3,16] *}
 
-#### ãƒ•ァむルラむクオブゞェクトで `StreamingResponse` ã‚’䜿う { #using-streamingresponse-with-file-like-objects }
-
-<a href="https://docs.python.org/3/glossary.html#term-file-like-object" class="external-link" target="_blank">file-like</a> ã‚ªãƒ–ゞェクト䟋: `open()` ã§è¿”されるオブゞェクトがある堎合、そのfile-likeオブゞェクトを反埩凊理するゞェネレヌタ関数を䜜れたす。
-
-そうすれば、最初にすべおをメモリぞ読み蟌む必芁はなく、そのゞェネレヌタ関数を `StreamingResponse` ã«æž¡ã—お返せたす。
-
-これにはクラりドストレヌゞずの連携、映像凊理など、倚くのラむブラリが含たれたす。
+/// note | æŠ€è¡“詳çް
 
-{* ../../docs_src/custom_response/tutorial008_py310.py hl[2,10:12,14] *}
+`async` ã‚¿ã‚¹ã‚¯ã¯ `await` ã«åˆ°é”したずきにのみキャンセルできたす。`await` ãŒãªã„堎合、ゞェネレヌタ`yield` ã‚’持぀関数は適切にキャンセルできず、キャンセル芁求埌も実行が続く可胜性がありたす。
 
-1. ã“れはゞェネレヌタ関数です。内郚に `yield` æ–‡ã‚’含むため「ゞェネレヌタ関数」です。
-2. `with` ãƒ–ロックを䜿うこずで、ゞェネレヌタ関数が終わった埌぀たりレスポンスの送信が完了した埌にfile-likeオブゞェクトが確実にクロヌズされるようにしたす。
-3. ã“の `yield from` ã¯ã€`file_like` ãšã„う名前のものを反埩凊理するように関数ぞ指瀺したす。そしお反埩された各パヌトに぀いお、そのパヌトをこのゞェネレヌタ関数`iterfile`から来たものずしお `yield` ã—たす。
+この小さな䟋では `await` ãŒäžèŠãªãŸã‚ã€ã‚€ãƒ™ãƒ³ãƒˆãƒ«ãƒŒãƒ—ã«ã‚­ãƒ£ãƒ³ã‚»ãƒ«ã‚’å‡Šç†ã™ã‚‹æ©ŸäŒšã‚’äžŽãˆã‚‹ãŸã‚ã« `await anyio.sleep(0)` ã‚’远加しおいたす。
 
-    ã€ãŸã‚Šã€å†…郚的に「生成」の䜜業を別のものぞ移譲するゞェネレヌタ関数です。
+これは倧きなストリヌムや無限ストリヌムではさらに重芁になりたす。
 
-    ã“のようにするこずで `with` ãƒ–ロックに入れられ、完了埌にfile-likeオブゞェクトが確実にクロヌズされたす。
+///
 
 /// tip | è±†çŸ¥è­˜
 
-ここでは `async` ãš `await` ã‚’サポヌトしおいない暙準の `open()` ã‚’䜿っおいるため、通垞の `def` ã§path operationを宣蚀しおいる点に泚意しおください。
+`StreamingResponse` ã‚’盎接返す代わりに、[デヌタをストリヌムする](./stream-data.md) ã‚¹ã‚¿ã‚€ãƒ«ã«åŸ“うこずをおすすめしたす。こちらのほうがはるかに䟿利で、裏偎でキャンセル凊理も行っおくれたす。
+
+JSON Lines ã‚’ストリヌムする堎合は、[JSON Lines ã‚’ストリヌムする](../tutorial/stream-json-lines.md) ãƒãƒ¥ãƒŒãƒˆãƒªã‚¢ãƒ«ã‚’参照しおください。
 
 ///
 
 ### `FileResponse` { #fileresponse }
 
-ã\83‹\82¹ã\83\9dã\83³ã\82¹ã\81šã\81\97ã\81Šã\83\95ã\82¡ã\82ۋ\83«ã\82\92é\9d\9eÃ¥\90\8cÊ\9c\9fç\9a\84にストリヌムしたす。
+ã\83\95ã\82¡ã\82ۋ\83«ã\82\92ã\83‹\82¹ã\83\9dã\83³ã\82¹ã\81šã\81\97ã\81Šé\9d\9eÃ¥\90\8cÊ\9c\9fにストリヌムしたす。
 
-À»\96ã\81®ã\83¬ã\82¹ã\83\9dã\83³ã\82¹ã\82¿ã\82€ã\83\97ã\81šã\81¯ç\95°ã\81ªã\82\8båŒ\95Ê\95°ã\81®ã\82»ã\83\83ã\83\88ã\82\92å\8f\97ã\81\91å\8f\96ã\82\8aã\82€ã\83³ã\82¹ã\82¿ã\83³ã\82¹å\8c\96ã\81\97ã\81Ÿã\81\99ã\80\82
+À»\96ã\81®ã\83¬ã\82¹ã\83\9dã\83³ã\82¹ã\82¿ã\82€ã\83\97ã\81šã\81¯ç\95°ã\81ªã\82\8båŒ\95Ê\95°ã\82»ã\83\83ã\83\88ã\81§ã\82€ã\83³ã\82¹ã\82¿ã\83³ã\82¹å\8c\96ã\81\97ã\81Ÿã\81\99:
 
-* `path` - ã‚¹ãƒˆãƒªãƒŒãƒ ã™ã‚‹ãƒ•ァむルのファむルパス。
-* `headers` - å«ã‚ãŸã„任意のカスタムヘッダヌの蟞曞。
-* `media_type` - ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚€ãƒ—を瀺す文字列。未蚭定の堎合、ファむル名やパスからメディアタむプが掚枬されたす。
-* `filename` - èš­å®šã—た堎合、レスポンスの `Content-Disposition` ã«å«ãŸã‚ŒãŸã™ã€‚
+* `path` - ã‚¹ãƒˆãƒªãƒŒãƒ ã™ã‚‹ãƒ•ァむルのファむルパス
+* `headers` - å«ã‚ãŸã„任意のカスタムヘッダヌ蟞曞
+* `media_type` - ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚€ãƒ—を瀺す文字列。未蚭定の堎合、ファむル名やパスから掚枬されたす
+* `filename` - èš­å®šã—た堎合、レスポンスの `Content-Disposition` ã«å«ãŸã‚ŒãŸã™
 
 ãƒ•ァむルレスポンスには、適切な `Content-Length`、`Last-Modified`、`ETag` ãƒ˜ãƒƒãƒ€ãƒŒãŒå«ãŸã‚ŒãŸã™ã€‚
 
@@ -261,17 +213,17 @@ HTTPリダむレクトを返したす。デフォルトでは307ステヌタス
 
 {* ../../docs_src/custom_response/tutorial009b_py310.py hl[2,8,10] *}
 
-この堎合、*path operation*関数からファむルパスを盎接返せたす。
+この堎合、*path operation* é–¢æ•°ã‹ã‚‰ãƒ•ァむルパスを盎接返せたす。
 
 ## ã‚«ã‚¹ã‚¿ãƒ ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚¯ãƒ©ã‚¹ { #custom-response-class }
 
-`Response` Ã£\82\92ç¶\99Ê\89¿ã\81\97ã\81\9fç\8b¬Ú\87ªã\81®ã\82«ã\82¹ã\82¿ã\83 ã\83‹\82¹ã\83\9dã\83³ã\82¹ã\82¯ã\83©ã\82¹ã\82\92Àœ\9cÊ\88\90ã\81\97ã\81Šå\88©甚できたす。
+`Response` Ã£\82\92ç¶\99Ê\89¿ã\81\97ã\81Šã\80\81ç\8b¬Ú\87ªã\81®ã\82«ã\82¹ã\82¿ã\83 ã\83‹\82¹ã\83\9dã\83³ã\82¹ã\82¯ã\83©ã\82¹ã\82\92Àœ\9cÊ\88\90ã\81\97ã\80\81Àœ¿甚できたす。
 
-䟋えば、<a href="https://github.com/ijl/orjson" class="external-link" target="_blank">`orjson`</a>を䜿いたいが、同梱の `ORJSONResponse` ã‚¯ãƒ©ã‚¹ã§äœ¿ã‚ã‚ŒãŠã„ないカスタム蚭定も䜿いたいずしたす。
+䟋えば、[`orjson`](https://github.com/ijl/orjson) ã‚’特定の蚭定で䜿いたいずしたす。
 
-䟋えば、むンデントされ敎圢されたJSONを返したいので、orjsonオプション `orjson.OPT_INDENT_2` ã‚’䜿いたいずしたす。
+むンデントされた敎圢枈みJSONを返したいので、orjson ã®ã‚ªãƒ—ション `orjson.OPT_INDENT_2` ã‚’䜿いたいずしたす。
 
-`CustomORJSONResponse` ã‚’䜜れたす。䞻に必芁なのは、コンテンツを `bytes` ãšã—お返す `Response.render(content)` ãƒ¡ã‚œãƒƒãƒ‰ã‚’䜜るこずです:
+`CustomORJSONResponse` ã‚’䜜成できたす。䞻に必芁なのは、`bytes` ã‚’返す `Response.render(content)` ãƒ¡ã‚œãƒƒãƒ‰ã‚’䜜るこずです:
 
 {* ../../docs_src/custom_response/tutorial009c_py310.py hl[9:14,17] *}
 
@@ -289,24 +241,32 @@ HTTPリダむレクトを返したす。デフォルトでは307ステヌタス
 }
 ```
 
-もちろん、JSONの敎圢よりも、これを掻甚するもっず良い方法が芋぀かるはずです。 ðŸ˜‰
+もちろん、JSONの敎圢以倖にも、これを掻甚するもっず良い方法が芋぀かるはずです。 ðŸ˜‰
+
+### `orjson` ã‹ ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãƒ¢ãƒ‡ãƒ«ã‹ { #orjson-or-response-model }
+
+もし求めおいるのがパフォヌマンスであれば、`orjson` ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚’䜿うより、[レスポンスモデル](../tutorial/response-model.md) ã‚’䜿うほうが良い堎合が倚いです。
+
+レスポンスモデルがあるず、FastAPI ã¯äž­é–“ステップ他の堎合に行われる `jsonable_encoder` ã«ã‚ˆã‚‹å€‰æ›ãªã©ïŒ‰ã‚’介さずに、Pydantic ã‚’䜿っおデヌタをJSONにシリアラむズしたす。
+
+内郚的には、Pydantic ã¯JSONシリアラむズに `orjson` ãšåŒã˜Rust由来の仕組みを甚いおいるため、レスポンスモデルを䜿うだけで最良のパフォヌマンスが埗られたす。
 
 ## ãƒ‡ãƒ•ォルトレスポンスクラス { #default-response-class }
 
-**FastAPI** Ã£\82¯ã\83©ã\82¹ã\81®ã\82ۋ\83³ã\82¹ã\82¿ã\83³ã\82¹ã\80\81ã\81Ÿã\81\9fã\81¯ `APIRouter` ã‚’䜜成する際に、デフォルトで䜿甚するレスポンスクラスを指定できたす。
+**FastAPI** Ã£\82¯ã\83©ã\82¹ã\81®ã\82ۋ\83³ã\82¹ã\82¿ã\83³ã\82¹ã\82\84 `APIRouter` ã‚’䜜成する際に、デフォルトで䜿甚するレスポンスクラスを指定できたす。
 
 ã“れを定矩するパラメヌタは `default_response_class` ã§ã™ã€‚
 
-以䞋の䟋では、**FastAPI** ã¯ã™ã¹ãŠã®*path operation*で、`JSONResponse` ã®ä»£ã‚ã‚Šã« `ORJSONResponse` ã‚’デフォルトずしお䜿いたす。
+以䞋の䟋では、**FastAPI** ã¯ã™ã¹ãŠã® *path operation* ã§ã€JSONの代わりにデフォルトで `HTMLResponse` ã‚’䜿甚したす。
 
 {* ../../docs_src/custom_response/tutorial010_py310.py hl[2,4] *}
 
 /// tip | è±†çŸ¥è­˜
 
-これたでず同様に、*path operation*で `response_class` ã‚’オヌバヌラむドできたす。
+これたでず同様に、*path operation* ã”ずに `response_class` ã‚’オヌバヌラむドできたす。
 
 ///
 
 ## ãã®ä»–のドキュメント { #additional-documentation }
 
-OpenAPIでは `responses` ã‚’䜿っおメディアタむプやその他の詳现を宣蚀するこずもできたす: [Additional Responses in OpenAPI](additional-responses.md){.internal-link target=_blank}。
+OpenAPIでは `responses` ã‚’䜿っおメディアタむプやその他の詳现を宣蚀するこずもできたす: [OpenAPI ã®è¿œåŠ ãƒ¬ã‚¹ãƒãƒ³ã‚¹](additional-responses.md)。
index 74f479f0728e1b3289ddaaa30bf93aaeb6d23f10..e3ad7afb633ffab4dc9b4c5a95e0cfea828f030c 100644 (file)
@@ -2,11 +2,11 @@
 
 FastAPI ã¯ **Pydantic** ã®äžŠã«æ§‹ç¯‰ã•れおおり、これたでにリク゚ストやレスポンスを宣蚀するために Pydantic ãƒ¢ãƒ‡ãƒ«ã‚’䜿う方法を玹介しおきたした。
 
-しかし FastAPI ã¯ã€åŒæ§˜ã®æ–¹æ³•で <a href="https://docs.python.org/3/library/dataclasses.html" class="external-link" target="_blank">`dataclasses`</a> ã‚‚サポヌトしたす:
+しかし FastAPI ã¯ã€åŒæ§˜ã®æ–¹æ³•で [`dataclasses`](https://docs.python.org/3/library/dataclasses.html) ã‚‚サポヌトしたす:
 
 {* ../../docs_src/dataclasses_/tutorial001_py310.py hl[1,6:11,18:19] *}
 
-これは **Pydantic** ã«ã‚ˆã£ãŠåŒ•き続きサポヌトされおいたす。Pydantic ã«ã¯ <a href="https://docs.pydantic.dev/latest/concepts/dataclasses/#use-of-stdlib-dataclasses-with-basemodel" class="external-link" target="_blank">`dataclasses` ã®å†…郚サポヌト</a> ãŒã‚るためです。
+これは **Pydantic** ã«ã‚ˆã£ãŠåŒ•き続きサポヌトされおいたす。Pydantic ã«ã¯ [`dataclasses` ã®å†…郚サポヌト](https://docs.pydantic.dev/latest/concepts/dataclasses/#use-of-stdlib-dataclasses-with-basemodel) ãŒã‚るためです。
 
 ãã®ãŸã‚ã€äžŠèš˜ã®ã‚ˆã†ã«æ˜Žç€ºçš„に Pydantic ã‚’䜿っおいないコヌドでも、FastAPI ã¯æš™æº–の dataclass ã‚’ Pydantic ç‹¬è‡ªã® dataclass ã«å€‰æ›ã™ã‚‹ãŸã‚ã« Pydantic ã‚’䜿甚しおいたす。
 
@@ -74,7 +74,7 @@ dataclass ã¯è‡ªå‹•的に Pydantic ã® dataclass ã«å€‰æ›ã•れたす。
 
     ã„぀もどおり、FastAPI ã§ã¯å¿…芁に応じお `def` ãš `async def` ã‚’組み合わせられたす。
 
-    ã©ã¡ã‚‰ã‚’い぀䜿うかの埩習が必芁な堎合は、[`async` ãš `await`](../async.md#in-a-hurry){.internal-link target=_blank} ã«é–¢ã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã® _"In a hurry?"_ ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’参照しおください。
+    ã©ã¡ã‚‰ã‚’い぀䜿うかの埩習が必芁な堎合は、[`async` ãš `await`](../async.md#in-a-hurry) ã«é–¢ã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã® _"In a hurry?"_ ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’参照しおください。
 
 9. ã“の *path operation é–¢æ•°* ã¯ïŒˆå¯èƒœã§ã¯ã‚りたすがdataclass è‡ªäœ“は返さず、内郚デヌタを持぀蟞曞のリストを返しおいたす。
 
@@ -88,7 +88,7 @@ dataclass ã¯è‡ªå‹•的に Pydantic ã® dataclass ã«å€‰æ›ã•れたす。
 
 `dataclasses` ã‚’他の Pydantic ãƒ¢ãƒ‡ãƒ«ãšçµ„み合わせたり、継承したり、自分のモデルに含めたりもできたす。
 
-詳しくは、<a href="https://docs.pydantic.dev/latest/concepts/dataclasses/" class="external-link" target="_blank">dataclasses ã«é–¢ã™ã‚‹ Pydantic ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ</a> ã‚’参照しおください。
+詳しくは、[dataclasses ã«é–¢ã™ã‚‹ Pydantic ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ](https://docs.pydantic.dev/latest/concepts/dataclasses/) ã‚’参照しおください。
 
 ## ãƒãƒŒã‚žãƒ§ãƒ³ { #version }
 
index fb79062fa84c09823981e17dc103ff489717eecd..e2cbe2eb049e616a3a6ccb8a738a7a3e7f5b0966 100644 (file)
@@ -150,11 +150,11 @@ async with lifespan(app):
 
 æŠ€è¡“が気になる方ぞの现かな詳现です。🀓
 
-内郚的には、ASGI ã®æŠ€è¡“仕様においお、これは <a href="https://asgi.readthedocs.io/en/latest/specs/lifespan.html" class="external-link" target="_blank">Lifespan ãƒ—ロトコル</a> ã®äž€éƒšã§ã‚り、`startup` ãš `shutdown` ãšã„うむベントが定矩されおいたす。
+内郚的には、ASGI ã®æŠ€è¡“仕様においお、これは [Lifespan ãƒ—ロトコル](https://asgi.readthedocs.io/en/latest/specs/lifespan.html) ã®äž€éƒšã§ã‚り、`startup` ãš `shutdown` ãšã„うむベントが定矩されおいたす。
 
 /// info | æƒ…å ±
 
-Starlette ã® `lifespan` ãƒãƒ³ãƒ‰ãƒ©ã«ã€ã„おは、<a href="https://www.starlette.dev/lifespan/" class="external-link" target="_blank">Starlette ã® Lifespan ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ</a>で詳しく読むこずができたす。
+Starlette ã® `lifespan` ãƒãƒ³ãƒ‰ãƒ©ã«ã€ã„おは、[Starlette ã® Lifespan ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ](https://www.starlette.dev/lifespan/)で詳しく読むこずができたす。
 
 ã‚³ãƒŒãƒ‰ã®ä»–の領域で䜿える lifespan ã®çŠ¶æ…‹ã‚’ã©ã®ã‚ˆã†ã«æ‰±ã†ã‹ã‚‚å«ãŸã‚ŒãŠã„ãŸã™ã€‚
 
@@ -162,4 +162,4 @@ Starlette ã® `lifespan` ãƒãƒ³ãƒ‰ãƒ©ã«ã€ã„おは、<a href="https://www.star
 
 ## ã‚µãƒ–アプリケヌション { #sub-applications }
 
-🚚 ã“れらの lifespan ã‚€ãƒ™ãƒ³ãƒˆïŒˆstartup ãš shutdownはメむンのアプリケヌションに察しおのみ実行され、[サブアプリケヌション - ãƒžã‚Šãƒ³ãƒˆ](sub-applications.md){.internal-link target=_blank} ã«ã¯å®Ÿè¡Œã•れないこずに泚意しおください。
+🚚 ã“れらの lifespan ã‚€ãƒ™ãƒ³ãƒˆïŒˆstartup ãš shutdownはメむンのアプリケヌションに察しおのみ実行され、[サブアプリケヌション - ãƒžã‚Šãƒ³ãƒˆ](sub-applications.md) ã«ã¯å®Ÿè¡Œã•れないこずに泚意しおください。
index 7b9f8205440a45503c71bd7ee25d5f19da60fec1..b3472880ed700aaaef251f2d49831e78079ce665 100644 (file)
@@ -6,13 +6,13 @@
 
 æœ¬ã‚¬ã‚€ãƒ‰ã§ã¯ã€FastAPI ãƒãƒƒã‚¯ã‚šãƒ³ãƒ‰å‘けの **TypeScript SDK** ã‚’生成する方法を説明したす。
 
-## ã‚ªãƒŒãƒ—゜ヌスの SDK ã‚žã‚§ãƒãƒ¬ãƒŒã‚¿ { #open-source-sdk-generators }
+## Ã£\82ªã\83΋\83\97ã\83³ã\82ϋ\83΋\82¹ã\81® SDK Ã£\82žã\82§ã\83\8dã\83‹\83΋\82¿ { #open-source-sdk-generators }
 
-倚甚途な遞択肢ずしお <a href="https://openapi-generator.tech/" class="external-link" target="_blank">OpenAPI Generator</a> ãŒã‚りたす。これは**倚数のプログラミング蚀語**をサポヌトし、OpenAPI ä»•様から SDK ã‚’生成できたす。
+倚甚途な遞択肢ずしお [OpenAPI Generator](https://openapi-generator.tech/) ãŒã‚りたす。これは**倚数のプログラミング蚀語**をサポヌトし、OpenAPI ä»•様から SDK ã‚’生成できたす。
 
-**TypeScript ã‚¯ãƒ©ã‚€ã‚¢ãƒ³ãƒˆ**向けには、<a href="https://heyapi.dev/" class="external-link" target="_blank">Hey API</a> ãŒç›®çš„特化の゜リュヌションで、TypeScript ã‚šã‚³ã‚·ã‚¹ãƒ†ãƒ ã«æœ€é©åŒ–された䜓隓を提䟛したす。
+**TypeScript ã‚¯ãƒ©ã‚€ã‚¢ãƒ³ãƒˆ**向けには、[Hey API](https://heyapi.dev/) ãŒç›®çš„特化の゜リュヌションで、TypeScript ã‚šã‚³ã‚·ã‚¹ãƒ†ãƒ ã«æœ€é©åŒ–された䜓隓を提䟛したす。
 
-他の SDK ã‚žã‚§ãƒãƒ¬ãƒŒã‚¿ã¯ <a href="https://openapi.tools/#sdk" class="external-link" target="_blank">OpenAPI.Tools</a> ã§ã‚‚芋぀けられたす。
+他の SDK ã‚žã‚§ãƒãƒ¬ãƒŒã‚¿ã¯ [OpenAPI.Tools](https://openapi.tools/#sdk) ã§ã‚‚芋぀けられたす。
 
 /// tip | è±†çŸ¥è­˜
 
@@ -24,15 +24,15 @@ FastAPI ã¯è‡ªå‹•的に **OpenAPI 3.1** ã®ä»•様を生成したす。したが
 
 ã“のセクションでは、FastAPI ã‚’スポンサヌしおいる䌁業による、**ベンチャヌ支揎**および**䌁業支揎**の゜リュヌションを玹介したす。これらの補品は、高品質な生成 SDK ã«åŠ ãˆãŠã€**远加機胜**や**統合**を提䟛したす。
 
-✹ [**FastAPI ã‚’スポンサヌする**](../help-fastapi.md#sponsor-the-author){.internal-link target=_blank} âœš ã“ずで、これらの䌁業はフレヌムワヌクずその**゚コシステム**の健党性ず**持続可胜性**を支揎しおいたす。
+✹ [**FastAPI ã‚’スポンサヌする**](../help-fastapi.md#sponsor-the-author) âœš ã“ずで、これらの䌁業はフレヌムワヌクずその**゚コシステム**の健党性ず**持続可胜性**を支揎しおいたす。
 
 ã“の支揎は、FastAPI ã®**コミュニティ**皆さんぞの匷いコミットメントの衚明でもあり、**優れたサヌビス**の提䟛だけでなく、堅牢で発展するフレヌムワヌク FastAPI ã‚’支える姿勢を瀺しおいたす。🙇
 
 äŸ‹ãˆã°ã€æ¬¡ã®ã‚ˆã†ãªã‚‚のがありたす:
 
-* <a href="https://speakeasy.com/editor?utm_source=fastapi+repo&utm_medium=github+sponsorship" class="external-link" target="_blank">Speakeasy</a>
-* <a href="https://www.stainless.com/?utm_source=fastapi&utm_medium=referral" class="external-link" target="_blank">Stainless</a>
-* <a href="https://developers.liblab.com/tutorials/sdk-for-fastapi?utm_source=fastapi" class="external-link" target="_blank">liblab</a>
+* [Speakeasy](https://speakeasy.com/editor?utm_source=fastapi+repo&utm_medium=github+sponsorship)
+* [Stainless](https://www.stainless.com/?utm_source=fastapi&utm_medium=referral)
+* [liblab](https://developers.liblab.com/tutorials/sdk-for-fastapi?utm_source=fastapi)
 
 ã“れらの゜リュヌションの䞭にはオヌプン゜ヌスや無料枠を提䟛するものもあり、金銭的コミットメントなしで詊すこずができたす。他の商甚 SDK ã‚žã‚§ãƒãƒ¬ãƒŒã‚¿ã‚‚存圚し、オンラむンで芋぀けられたす。🀓
 
@@ -66,7 +66,7 @@ npx @hey-api/openapi-ts -i http://localhost:8000/openapi.json -o src/client
 
 ã“れで TypeScript SDK ãŒ `./src/client` ã«ç”Ÿæˆã•れたす。
 
-<a href="https://heyapi.dev/openapi-ts/get-started" class="external-link" target="_blank">`@hey-api/openapi-ts` ã®ã‚€ãƒ³ã‚¹ãƒˆãƒŒãƒ«æ–¹æ³•</a>や、<a href="https://heyapi.dev/openapi-ts/output" class="external-link" target="_blank">生成物の詳现</a>は公匏サむトを参照しおください。
+[`@hey-api/openapi-ts` ã®ã‚€ãƒ³ã‚¹ãƒˆãƒŒãƒ«æ–¹æ³•](https://heyapi.dev/openapi-ts/get-started)や、[生成物の詳现](https://heyapi.dev/openapi-ts/output)は公匏サむトを参照しおください。
 
 ### SDK ã®åˆ©ç”š { #using-the-sdk }
 
index 1d0f7566cd54e32cc8a51b462323b730e8c1c366..026405318f8e026f730dba80789ec4c60636f08f 100644 (file)
@@ -2,7 +2,7 @@
 
 ## ã•らなる機胜 { #additional-features }
 
-メむンの[チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰](../tutorial/index.md){.internal-link target=_blank}だけで、**FastAPI**の䞻芁な機胜を䞀通り把握するには十分なはずです。
+メむンの[チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰](../tutorial/index.md)だけで、**FastAPI**の䞻芁な機胜を䞀通り把握するには十分なはずです。
 
 ä»¥é™ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§ã¯ã€ãã®ä»–のオプション、蚭定、远加機胜を芋おいきたす。
 
@@ -16,6 +16,6 @@
 
 ## å…ˆã«ãƒãƒ¥ãƒŒãƒˆãƒªã‚¢ãƒ«ã‚’読む { #read-the-tutorial-first }
 
-メむンの[チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰](../tutorial/index.md){.internal-link target=_blank}で埗た知識があれば、**FastAPI**の機胜の倚くは匕き続き利甚できたす。
+メむンの[チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰](../tutorial/index.md)で埗た知識があれば、**FastAPI**の機胜の倚くは匕き続き利甚できたす。
 
 ãŸãŸã€ä»¥é™ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§ã¯ã€ã™ã§ã«ãã‚Œã‚’読んでいお、䞻芁な考え方を理解しおいるこずを前提ずしおいたす。
index 2883d53d82b0fe38ddb29f613e6b9b5243be765b..018e6605884dec691520b455e90f7676a62f4ab2 100644 (file)
@@ -1,8 +1,8 @@
 # é«˜åºŠãªãƒŸãƒ‰ãƒ«ã‚Šã‚§ã‚¢ { #advanced-middleware }
 
-メむンのチュヌトリアルでは、アプリケヌションに[カスタムミドルりェア](../tutorial/middleware.md){.internal-link target=_blank}を远加する方法を孊びたした。
+メむンのチュヌトリアルでは、アプリケヌションに[カスタムミドルりェア](../tutorial/middleware.md)を远加する方法を孊びたした。
 
-そしお、[`CORSMiddleware` ã‚’䜿った CORS ã®æ‰±ã„æ–¹](../tutorial/cors.md){.internal-link target=_blank}も孊びたした。
+そしお、[`CORSMiddleware` ã‚’䜿った CORS ã®æ‰±ã„æ–¹](../tutorial/cors.md)も孊びたした。
 
 ã“のセクションでは、その他のミドルりェアの䜿い方を芋おいきたす。
 
@@ -91,7 +91,7 @@ HTTP Host Header æ”»æ’ƒã‚’防ぐため、すべおの受信リク゚ストに正
 
 äŸ‹ãˆã°:
 
-- <a href="https://github.com/encode/uvicorn/blob/master/uvicorn/middleware/proxy_headers.py" class="external-link" target="_blank">Uvicorn ã® `ProxyHeadersMiddleware`</a>
-- <a href="https://github.com/florimondmanca/msgpack-asgi" class="external-link" target="_blank">MessagePack</a>
+- [Uvicorn ã® `ProxyHeadersMiddleware`](https://github.com/encode/uvicorn/blob/master/uvicorn/middleware/proxy_headers.py)
+- [MessagePack](https://github.com/florimondmanca/msgpack-asgi)
 
-他に利甚可胜なミドルりェアに぀いおは、<a href="https://www.starlette.dev/middleware/" class="external-link" target="_blank">Starlette ã®ãƒŸãƒ‰ãƒ«ã‚Šã‚§ã‚¢ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ</a>や <a href="https://github.com/florimondmanca/awesome-asgi" class="external-link" target="_blank">ASGI Awesome List</a> ã‚’参照しおください。
+他に利甚可胜なミドルりェアに぀いおは、[Starlette ã®ãƒŸãƒ‰ãƒ«ã‚Šã‚§ã‚¢ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ](https://www.starlette.dev/middleware/)や [ASGI Awesome List](https://github.com/florimondmanca/awesome-asgi) ã‚’参照しおください。
index 283a80b210d9d8b5bcb176adb1a3d96c7f295cce..31d17e270b6778a133f1ea2d7731043ee71ab5c7 100644 (file)
@@ -35,7 +35,7 @@
 
 /// tip | è±†çŸ¥è­˜
 
-`callback_url` ã‚¯ã‚šãƒªãƒ‘ラメヌタは、Pydantic ã® <a href="https://docs.pydantic.dev/latest/api/networks/" class="external-link" target="_blank">Url</a> åž‹ã‚’䜿甚したす。
+`callback_url` ã‚¯ã‚šãƒªãƒ‘ラメヌタは、Pydantic ã® [Url](https://docs.pydantic.dev/latest/api/networks/) åž‹ã‚’䜿甚したす。
 
 ///
 
@@ -66,7 +66,7 @@ httpx.post(callback_url, json={"description": "Invoice paid", "paid": True})
 
 å®Ÿéš›ã®ã‚³ãƒŒãƒ«ãƒãƒƒã‚¯ã¯å˜ãªã‚‹ HTTP ãƒªã‚¯ã‚šã‚¹ãƒˆã§ã™ã€‚
 
-自分でコヌルバックを実装する堎合は、<a href="https://www.python-httpx.org" class="external-link" target="_blank">HTTPX</a> ã‚„ <a href="https://requests.readthedocs.io/" class="external-link" target="_blank">Requests</a> ã®ã‚ˆã†ãªã‚‚のを䜿えたす。
+自分でコヌルバックを実装する堎合は、[HTTPX](https://www.python-httpx.org) ã‚„ [Requests](https://requests.readthedocs.io/) ã®ã‚ˆã†ãªã‚‚のを䜿えたす。
 
 ///
 
@@ -106,11 +106,11 @@ httpx.post(callback_url, json={"description": "Invoice paid", "paid": True})
 é€šåžžã® *path operation* ãšç•°ãªã‚‹äž»ãªç‚¹ãŒ 2 ã€ã‚りたす:
 
 * å®Ÿéš›ã®ã‚³ãƒŒãƒ‰ã¯äžèŠã§ã™ã€‚ã‚ãªãŸã®ã‚¢ãƒ—ãƒªã¯ã“ã®ã‚³ãƒŒãƒ‰ã‚’æ±ºã—ãŠå‘Œã³ãŸã›ã‚“ã€‚ã“ã‚Œã¯ *倖郚 API* ã‚’ドキュメント化するためだけに䜿われたす。したがっお、関数本䜓は `pass` ã§æ§‹ã„たせん。
-* *パス* ã«ã¯ã€*あなたの API* ã«é€ã‚‰ã‚ŒãŸå…ƒã®ãƒªã‚¯ã‚šã‚¹ãƒˆã®ãƒ‘ラメヌタや䞀郚を倉数ずしお䜿える <a href="https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#key-expression" class="external-link" target="_blank">OpenAPI 3 ã®åŒ</a>埌述を含められたす。
+* *パス* ã«ã¯ã€*あなたの API* ã«é€ã‚‰ã‚ŒãŸå…ƒã®ãƒªã‚¯ã‚šã‚¹ãƒˆã®ãƒ‘ラメヌタや䞀郚を倉数ずしお䜿える [OpenAPI 3 ã®åŒ](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#key-expression)埌述を含められたす。
 
 ### ã‚³ãƒŒãƒ«ãƒãƒƒã‚¯ã®ãƒ‘ス匏 { #the-callback-path-expression }
 
-コヌルバックの *パス* ã«ã¯ã€*あなたの API* ã«é€ã‚‰ã‚ŒãŸå…ƒã®ãƒªã‚¯ã‚šã‚¹ãƒˆã®äž€éƒšã‚’含められる <a href="https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#key-expression" class="external-link" target="_blank">OpenAPI 3 ã®åŒ</a>を䜿甚できたす。
+コヌルバックの *パス* ã«ã¯ã€*あなたの API* ã«é€ã‚‰ã‚ŒãŸå…ƒã®ãƒªã‚¯ã‚šã‚¹ãƒˆã®äž€éƒšã‚’含められる [OpenAPI 3 ã®åŒ](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#key-expression)を䜿甚できたす。
 
 ã“の䟋では、`str` ã¯æ¬¡ã®ãšãŠã‚Šã§ã™:
 
@@ -179,7 +179,7 @@ JSON ãƒœãƒ‡ã‚£ã¯æ¬¡ã®ã‚ˆã†ãªå†…容です:
 
 ### ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’確認 { #check-the-docs }
 
-アプリを起動しお <a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a> ã«ã‚¢ã‚¯ã‚»ã‚¹ã—たす。
+アプリを起動しお [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) ã«ã‚¢ã‚¯ã‚»ã‚¹ã—たす。
 
 ã‚なたの *path operation* ã«ã€ŒCallbacks」セクションが含たれ、*倖郚 API* ãŒã©ã†ã‚るべきかが衚瀺されおいるのが確認できたす:
 
index 368cfddd82ccf8a6e200a34eeb6966a2d7ce209f..7f7a7268072a94bac0aac021d037360078248fd8 100644 (file)
@@ -48,7 +48,7 @@ Webhook ã§ã¯ïŒˆ`/items/` ã®ã‚ˆã†ãªïŒ‰*パス*を宣蚀しおいるわけで
 
 ### ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ç¢ºèª { #check-the-docs }
 
-アプリを起動し、<a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a> ã«ã‚¢ã‚¯ã‚»ã‚¹ã—たす。
+アプリを起動し、[http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) ã«ã‚¢ã‚¯ã‚»ã‚¹ã—たす。
 
 ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã«ã¯é€šåžžã® *path operations* ã«åŠ ãˆãŠã€**webhooks** ã‚‚衚瀺されたす:
 
index f7e3406171a9d6b0bbbdca03661ad0077fb19769..65b56dba4ced868a8ddbc6a000152e3fbf5338e2 100644 (file)
@@ -60,7 +60,7 @@ APIの関数名を `operationId` ãšã—お利甚したい堎合、すべおのAP
 
 è¿œåŠ ã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã«ã€ã„ãŠã‚‚ã€ãƒ¢ãƒ‡ãƒ«ã‚„ã‚¹ãƒ†ãƒŒã‚¿ã‚¹ã‚³ãƒŒãƒ‰ãªã©ãšãšã‚‚ã«å®£èš€ã§ããŸã™ã€‚
 
-これに぀いおはドキュメントに章党䜓がありたす。 [OpenAPIの远加レスポンス](additional-responses.md){.internal-link target=_blank} ã§èª­ã‚ãŸã™ã€‚
+これに぀いおはドキュメントに章党䜓がありたす。 [OpenAPIの远加レスポンス](additional-responses.md) ã§èª­ã‚ãŸã™ã€‚
 
 ## OpenAPI Extra { #openapi-extra }
 
@@ -68,7 +68,7 @@ APIの関数名を `operationId` ãšã—お利甚したい堎合、すべおのAP
 
 /// note | æŠ€è¡“詳çް
 
-OpenAPI仕様では <a href="https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operation-object" class="external-link" target="_blank">Operation Object</a> ãšå‘Œã°ã‚ŒãŠã„たす。
+OpenAPI仕様では [Operation Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operation-object) ãšå‘Œã°ã‚ŒãŠã„たす。
 
 ///
 
@@ -82,7 +82,7 @@ OpenAPI仕様では <a href="https://github.com/OAI/OpenAPI-Specification/blob/m
 
 ã“れは䜎レベルな拡匵ポむントです。
 
-远加レスポンスを宣蚀するだけなら、より䟿利な方法ずしお [OpenAPIの远加レスポンス](additional-responses.md){.internal-link target=_blank} ã‚’䜿うこずができたす。
+远加レスポンスを宣蚀するだけなら、より䟿利な方法ずしお [OpenAPIの远加レスポンス](additional-responses.md) ã‚’䜿うこずができたす。
 
 ///
 
index 1dfeae52895a58531d68c5a07ce1dddd3c5ae0ce..22f5f37018c7f7fd0f36a2691788a5fa46f6125b 100644 (file)
@@ -1,6 +1,6 @@
 # ãƒ¬ã‚¹ãƒãƒ³ã‚¹ - ã‚¹ãƒ†ãƒŒã‚¿ã‚¹ã‚³ãƒŒãƒ‰ã®å€‰æ›Ž { #response-change-status-code }
 
-すでに、デフォルトの[レスポンスのステヌタスコヌド](../tutorial/response-status-code.md){.internal-link target=_blank}を蚭定できるこずをご存知かもしれたせん。
+すでに、デフォルトの[レスポンスのステヌタスコヌド](../tutorial/response-status-code.md)を蚭定できるこずをご存知かもしれたせん。
 
 ã—かし堎合によっおは、デフォルトずは異なるステヌタスコヌドを返す必芁がありたす。
 
@@ -26,6 +26,6 @@
 
 ãã—お `response_model` ã‚’宣蚀しおいれば、返したオブゞェクトのフィルタず倉換には匕き続きそれが䜿われたす。
 
-FastAPI ã¯ãã®*䞀時的な*レスポンスからステヌタスコヌドおよび Cookie ãšãƒ˜ãƒƒãƒ€ãƒŒïŒ‰ã‚’取り出し、`response_model` ã«ã‚ˆã£ãŠãƒ•ィルタ枈みの返华倀を含む最終的なレスポンスに反映したす。
+**FastAPI** ã¯ãã®*䞀時的な*レスポンスからステヌタスコヌドおよび Cookie ãšãƒ˜ãƒƒãƒ€ãƒŒïŒ‰ã‚’取り出し、`response_model` ã«ã‚ˆã£ãŠãƒ•ィルタ枈みの返华倀を含む最終的なレスポンスに反映したす。
 
 ãŸãŸã€`Response` ãƒ‘ラメヌタは䟝存関係内に宣蚀しおステヌタスコヌドを蚭定するこずもできたす。ただし、最埌に蚭定されたものが優先される点に泚意しおください。
index f7e5c0062cc39311aff535e865d87c8b5d94178d..c395b09c62d9e0f50a46aab4c8dabca131d4dd0d 100644 (file)
@@ -20,7 +20,7 @@
 
 ã‚³ãƒŒãƒ‰ã§ `Response` ã‚’盎接返すずきに、Cookie ã‚’䜜成するこずもできたす。
 
-そのためには、[Response ã‚’盎接返す](response-directly.md){.internal-link target=_blank} ã§èª¬æ˜Žã•れおいるずおりにレスポンスを䜜成したす。
+そのためには、[Response ã‚’盎接返す](response-directly.md) ã§èª¬æ˜Žã•れおいるずおりにレスポンスを䜜成したす。
 
 ãã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã« Cookie ã‚’蚭定しおから返したす:
 
@@ -48,4 +48,4 @@
 
 ///
 
-利甚可胜なすべおのパラメヌタやオプションに぀いおは、<a href="https://www.starlette.dev/responses/#set-cookie" class="external-link" target="_blank">Starlette ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ</a>を参照しおください。
+利甚可胜なすべおのパラメヌタやオプションに぀いおは、[Starlette ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ](https://www.starlette.dev/responses/#set-cookie)を参照しおください。
index 103e84c385754940de845155aed5a574021a3fb8..b5c9fc5cbfc50c5b96f3a16b1d406cccdd2be814 100644 (file)
@@ -1,22 +1,26 @@
 # ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚’盎接返す { #return-a-response-directly }
 
-**FastAPI** ã® *path operation* ã§ã¯ã€é€šåžžã¯ä»»æ„ã®ãƒ‡ãƒŒã‚¿ã‚’返すこずができたす: äŸ‹ãˆã°ã€ `dict`、`list`、Pydanticモデル、デヌタベヌスモデルなどです。
+**FastAPI** ã® *path operation* ã§ã¯ã€é€šåžžã¯ä»»æ„ã®ãƒ‡ãƒŒã‚¿ã‚’返すこずができたす: äŸ‹ãˆã°ã€`dict`、`list`、Pydanticモデル、デヌタベヌスモデルなどです。
 
-デフォルトでは、**FastAPI** ã¯ [JSON互換゚ンコヌダ](../tutorial/encoder.md){.internal-link target=_blank} ã§èª¬æ˜Žã•れおいる `jsonable_encoder` ã«ã‚ˆã‚Šã€è¿”す倀を自動的にJSONに倉換したす。
+[レスポンスモデル](../tutorial/response-model.md) ã‚’宣蚀した堎合、FastAPI ã¯ Pydantic ã‚’䜿っおデヌタをJSONにシリアラむズしたす。
 
-ã\81\93ã\81®ã\81šã\81\8dÚ\83\8cåŸ\8cã\81§ã\81¯ã\80\81JSON˼\92Ê\8f\9bã\81ªã\83\87ã\83΋\82¿ (ÀŸ\8bã\81\88ã\81°`dict`) Ã£\82\92ã\80\81ã\82¯ã\83©ã\82ۋ\82¢ã\83³ã\83\88ã\81žé\80\81À¿¡ã\81\95ã\82\8cã\82\8bã\83‹\82¹ã\83\9dã\83³ã\82¹ã\81šã\81\97ã\81Šå\88©ç\94šã\81\95ã\82\8cã\82\8b `JSONResponse` Ã£\81®Àž­ã\81«å\90«ã\82\81たす。
+ã\83‹\82¹ã\83\9dã\83³ã\82¹ã\83¢ã\83\87ã\83«ã\82\92宣ښ\80ã\81\97ã\81ªã\81\84堎å\90\88ã\80\81FastAPI Ã£\81¯ [JSON˼\92Ê\8f\9bã\82šã\83³ã\82³ã\83΋\83\80](../tutorial/encoder.md) Ã£\81§Úª¬Ê\98\8eã\81\95ã\82\8cã\81Šã\81\84ã\82\8b `jsonable_encoder` Ã£\82\92Àœ¿ç\94šã\81\97ã\80\81ã\81\9dã\81®çµ\90Ê\9e\9cã\82\92 `JSONResponse` Ã£\81«å\85¥ã\82\8cたす。
 
-ã\81\97ã\81\8bã\81\97ã\80\81*path operation* Ã£\81\8bã\82\89 `JSONResponse` Ã£\82\92ç\9bŽÊ\8e¥返すこずもできたす。
+ã\81Ÿã\81\9fã\80\81`JSONResponse` Ã£\82\92ç\9bŽÊ\8e¥Àœ\9cÊ\88\90ã\81\97ã\81Š返すこずもできたす。
 
-これは䟋えば、カスタムヘッダヌやcookieを返すずきに䟿利です。
+/// tip
+
+通垞は、`JSONResponse` ã‚’盎接返すよりも、[レスポンスモデル](../tutorial/response-model.md) ã‚’䜿うほうがパフォヌマンスが倧幅に良くなりたす。これは、Pydantic ã«ã‚ˆã‚‹ã‚·ãƒªã‚¢ãƒ©ã‚€ã‚ºãŒ Rust ã§å®Ÿè¡Œã•れるためです。
+
+///
 
 ## `Response` ã‚’返す { #return-a-response }
 
 å®Ÿéš›ã¯ã€`Response` ã‚„そのサブクラスを返すこずができたす。
 
-/// tip | è±†çŸ¥è­˜
+/// info
 
-`JSONResponse` ãã‚Œè‡ªäœ“は、 `Response` ã®ã‚µãƒ–クラスです。
+`JSONResponse` ãã‚Œè‡ªäœ“は、`Response` ã®ã‚µãƒ–クラスです。
 
 ///
 
@@ -26,6 +30,8 @@
 
 ã“れは倚くの柔軟性を提䟛したす。任意のデヌタ型を返したり、任意のデヌタ宣蚀やバリデヌションをオヌバヌラむドできたす。
 
+同時に倚くの責任も䌎いたす。返すデヌタが正しく、正しいフォヌマットであり、シリアラむズ可胜であるこずなどを、あなたが保蚌しなければなりたせん。
+
 ## `jsonable_encoder` ã‚’ `Response` ã®äž­ã§äœ¿ã† { #using-the-jsonable-encoder-in-a-response }
 
 **FastAPI** ã¯ã‚なたが返す `Response` ã«å¯Ÿã—お䜕も倉曎を加えないので、コンテンツが準備できおいるこずを保蚌しなければなりたせん。
 
 ## ã‚«ã‚¹ã‚¿ãƒ  `Response` ã‚’返す { #returning-a-custom-response }
 
-䞊蚘の䟋では必芁な郚分を党お瀺しおいたすが、あたり䟿利ではありたせん。`item` ã‚’盎接返すこずができるし、**FastAPI** ã¯ãã‚Œã‚’ `dict` ã«å€‰æ›ã—お `JSONResponse` に含めおくれるなど。すべお、デフォルトの動䜜です。
+䞊蚘の䟋では必芁な郚分を党お瀺しおいたすが、あたり䟿利ではありたせん。`item` ã‚’盎接返すこずができるし、**FastAPI** ã¯ãã‚Œã‚’ `dict` ã«å€‰æ›ã—お `JSONResponse` ã«å«ã‚ãŠãã‚Œã‚‹ãªã©ã€‚すべお、デフォルトの動䜜です。
 
 ã§ã¯ã€ã“れを䜿っおカスタムレスポンスをどう返すか芋おみたしょう。
 
-<a href="https://en.wikipedia.org/wiki/XML" class="external-link" target="_blank">XML</a>レスポンスを返したいずしたしょう。
+[XML](https://en.wikipedia.org/wiki/XML)レスポンスを返したいずしたしょう。
 
 XMLを文字列にし、`Response` ã«å«ã‚ã€ãã‚Œã‚’返したす。
 
 {* ../../docs_src/response_directly/tutorial002_py310.py hl[1,18] *}
 
+## Response Model ã®ä»•組み { #how-a-response-model-works }
+
+path operation ã§ [Response Model - æˆ»ã‚Šå€€ã®åž‹](../tutorial/response-model.md) ã‚’宣蚀するず、**FastAPI** ã¯ãã‚Œã‚’䜿っお Pydantic ã«ã‚ˆã‚Šãƒ‡ãƒŒã‚¿ã‚’JSONにシリアラむズしたす。
+
+{* ../../docs_src/response_model/tutorial001_01_py310.py hl[16,21] *}
+
+これは Rust åŽã§è¡Œã‚ã‚Œã‚‹ãŸã‚ã€é€šåžžã® Python ãš `JSONResponse` ã‚¯ãƒ©ã‚¹ã§è¡Œã†å Žåˆã‚ˆã‚Šã€ãƒ‘フォヌマンスははるかに良くなりたす。
+
+`response_model` ã‚„戻り倀の型を䜿甚する堎合、FastAPI ã¯ãƒ‡ãƒŒã‚¿å€‰æ›ã«ïŒˆäœŽé€Ÿã«ãªã‚Šã†ã‚‹ïŒ‰`jsonable_encoder` ã‚‚ `JSONResponse` ã‚¯ãƒ©ã‚¹ã‚‚䜿いたせん。
+
+代わりに、response modelたたは戻り倀の型を䜿っお Pydantic ãŒç”Ÿæˆã—た JSON ã®ãƒã‚€ãƒˆåˆ—をそのたた甚い、JSON ç”šã®æ­£ã—いメディアタむプ`application/json`を持぀ `Response` ã‚’盎接返したす。
+
 ## å‚™è€ƒ { #notes }
 
 `Response` ã‚’盎接返す堎合、バリデヌションや、倉換 (シリアラむズ) ã‚„、自動ドキュメントは行われたせん。
 
-しかし、[Additional Responses in OpenAPI](additional-responses.md){.internal-link target=_blank}に蚘茉されたようにドキュメントを曞くこずもできたす。
+しかし、[Additional Responses in OpenAPI](additional-responses.md)に蚘茉されたようにドキュメントを曞くこずもできたす。
 
 åŸŒã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§ã€ã‚«ã‚¹ã‚¿ãƒ  `Response` ã‚’䜿甚・宣蚀しながら、自動的なデヌタ倉換やドキュメンテヌションを行う方法を説明したす。
index 10aec78452f20956abfc43943976a5775e442018..3a61f57428c26e0175b6caace0ac3ea78824f481 100644 (file)
@@ -20,7 +20,7 @@
 
 `Response` ã‚’盎接返す堎合にもヘッダヌを远加できたす。
 
-[Response ã‚’盎接返す](response-directly.md){.internal-link target=_blank} ã§èª¬æ˜Žã—たようにレスポンスを䜜成し、ヘッダヌを远加のパラメヌタずしお枡したす:
+[Response ã‚’盎接返す](response-directly.md) ã§èª¬æ˜Žã—たようにレスポンスを䜜成し、ヘッダヌを远加のパラメヌタずしお枡したす:
 
 {* ../../docs_src/response_headers/tutorial001_py310.py hl[10:12] *}
 
@@ -36,6 +36,6 @@
 
 ## ã‚«ã‚¹ã‚¿ãƒ ãƒ˜ãƒƒãƒ€ãƒŒ { #custom-headers }
 
-独自のカスタムヘッダヌは、<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers" class="external-link" target="_blank">`X-` ãƒ—レフィックスを䜿っお</a>远加できるこずに泚意しおください。
+独自のカスタムヘッダヌは、[`X-` ãƒ—レフィックスを䜿っお](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers)远加できるこずに泚意しおください。
 
-ただし、ブラりザのクラむアントに芋えるようにしたいカスタムヘッダヌがある堎合は、CORS èš­å®šã«ãã‚Œã‚‰ã‚’远加する必芁がありたす[CORS (Cross-Origin Resource Sharing)](../tutorial/cors.md){.internal-link target=_blank} ã‚’参照。このずき、<a href="https://www.starlette.dev/middleware/#corsmiddleware" class="external-link" target="_blank">Starlette ã® CORS ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ</a>に蚘茉の `expose_headers` ãƒ‘ラメヌタを䜿甚したす。
+ただし、ブラりザのクラむアントに芋えるようにしたいカスタムヘッダヌがある堎合は、CORS èš­å®šã«ãã‚Œã‚‰ã‚’远加する必芁がありたす[CORS (Cross-Origin Resource Sharing)](../tutorial/cors.md) ã‚’参照。このずき、[Starlette ã® CORS ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ](https://www.starlette.dev/middleware/#corsmiddleware)に蚘茉の `expose_headers` ãƒ‘ラメヌタを䜿甚したす。
index 7ee56a039b3a49b96d7377fc7e835619f1efb374..b8e47dcbb76a014e1609054fce2a5eb57b95127c 100644 (file)
@@ -32,7 +32,7 @@ URL ã‚’最初に開こうずしたずきたたはドキュメントで「Exec
 
 äŸå­˜é–¢ä¿‚を䜿っおナヌザヌ名ずパスワヌドが正しいかを確認したす。
 
-これには、Python æš™æº–モゞュヌル <a href="https://docs.python.org/3/library/secrets.html" class="external-link" target="_blank">`secrets`</a> ã‚’甚いおナヌザヌ名ずパスワヌドを怜蚌したす。
+これには、Python æš™æº–モゞュヌル [`secrets`](https://docs.python.org/3/library/secrets.html) ã‚’甚いおナヌザヌ名ずパスワヌドを怜蚌したす。
 
 `secrets.compare_digest()` ã¯ `bytes` ã‹ã€ASCII æ–‡å­—英語の文字のみを含む `str` ã‚’受け取る必芁がありたす。぀たり、`Sebastián` ã®ã‚ˆã†ã« `á` ã‚’含む文字ではそのたたでは動䜜したせん。
 
@@ -46,7 +46,7 @@ URL ã‚’最初に開こうずしたずきたたはドキュメントで「Exec
 
 ```Python
 if not (credentials.username == "stanleyjobson") or not (credentials.password == "swordfish"):
-    # Return some error
+    # äœ•らかの゚ラヌを返す
     ...
 ```
 
index 069e2686cb1b47fb702e0e7854d89f959896baaa..5b4c480fe94b261a24ad2b52bcf67acaf943707d 100644 (file)
@@ -2,11 +2,11 @@
 
 ## è¿œåŠ æ©Ÿèƒœ { #additional-features }
 
-[チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰: ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£](../../tutorial/security/index.md){.internal-link target=_blank}で扱ったもの以倖にも、セキュリティを扱うための远加機胜がいく぀かありたす。
+[チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰: ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£](../../tutorial/security/index.md)で扱ったもの以倖にも、セキュリティを扱うための远加機胜がいく぀かありたす。
 
 /// tip | è±†çŸ¥è­˜
 
-次の節は必ずしも「高床」ではありたせん。
+次の節は**必ずしも「高床」ではありたせん**。
 
 ã‚なたのナヌスケヌスでは、その䞭のいずれかに解決策があるかもしれたせん。
 
@@ -14,6 +14,6 @@
 
 ## ãŸãšãƒãƒ¥ãƒŒãƒˆãƒªã‚¢ãƒ«ã‚’読む { #read-the-tutorial-first }
 
-以䞋の節は、すでにメむンの[チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰: ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£](../../tutorial/security/index.md){.internal-link target=_blank}を読んでいるこずを前提ずしたす。
+以䞋の節は、すでにメむンの[チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰: ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£](../../tutorial/security/index.md)を読んでいるこずを前提ずしたす。
 
 ã„ずれも同じ抂念に基づいおいたすが、いく぀かの远加機胜を利甚できたす。
index 7c6cfdbf0333e4f66a8798f4bcb80c73a6612216..3afc26e3ae1ff8de27a146f021ffc94efb3f391f 100644 (file)
@@ -60,7 +60,7 @@ OAuth2 ã«ãšã£ãŠã¯ã€å˜ã«æ–‡å­—列に過ぎたせん。
 
 ## å…šäœ“像 { #global-view }
 
-たず、メむンの**チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰**にある [OAuth2パスワヌドハッシュ化あり、Bearer ãš JWT ãƒˆãƒŒã‚¯ãƒ³](../../tutorial/security/oauth2-jwt.md){.internal-link target=_blank} ã®äŸ‹ã‹ã‚‰å€‰æ›Žã•れる郚分を、スコヌプ付き OAuth2 ã‚’䜿っお手早く芋おみたしょう。
+たず、メむンの**チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰**にある [OAuth2パスワヌドハッシュ化あり、Bearer ãš JWT ãƒˆãƒŒã‚¯ãƒ³](../../tutorial/security/oauth2-jwt.md) ã®äŸ‹ã‹ã‚‰å€‰æ›Žã•れる郚分を、スコヌプ付き OAuth2 ã‚’䜿っお手早く芋おみたしょう。
 
 {* ../../docs_src/security/tutorial005_an_py310.py hl[5,9,13,47,65,106,108:116,122:126,130:136,141,157] *}
 
@@ -271,4 +271,4 @@ API ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’開くず、認蚌しお、蚱可するスコヌプを
 
 ## ãƒ‡ã‚³ãƒ¬ãƒŒã‚¿ `dependencies` ã§ã® `Security` { #security-in-decorator-dependencies }
 
-デコレヌタの `dependencies` ãƒ‘ラメヌタに `Depends` ã® `list` ã‚’定矩できるのず同様[path operation ãƒ‡ã‚³ãƒ¬ãƒŒã‚¿ã§ã®äŸå­˜é–¢ä¿‚](../../tutorial/dependencies/dependencies-in-path-operation-decorators.md){.internal-link target=_blank} å‚照、ここで `scopes` ã‚’指定した `Security` ã‚‚䜿甚できたす。
+デコレヌタの `dependencies` ãƒ‘ラメヌタに `Depends` ã® `list` ã‚’定矩できるのず同様[path operation ãƒ‡ã‚³ãƒ¬ãƒŒã‚¿ã§ã®äŸå­˜é–¢ä¿‚](../../tutorial/dependencies/dependencies-in-path-operation-decorators.md) å‚照、ここで `scopes` ã‚’指定した `Security` ã‚‚䜿甚できたす。
index 5508ad6d916c92c1b73bbf62e045d9c996e9d12a..e42ec845c6c8b2da7e3b85bae4c859c64c5add14 100644 (file)
@@ -8,7 +8,7 @@
 
 /// tip | è±†çŸ¥è­˜
 
-環境倉数に぀いお理解するには、[環境倉数](../environment-variables.md){.internal-link target=_blank}を参照しおください。
+環境倉数に぀いお理解するには、[環境倉数](../environment-variables.md)を参照しおください。
 
 ///
 
 
 ## Pydantic ã® `Settings` { #pydantic-settings }
 
-幞いなこずに、Pydantic ã«ã¯ç’°å¢ƒå€‰æ•°ã‹ã‚‰æ¥ã‚‹èš­å®šã‚’扱うための優れたナヌティリティがあり、<a href="https://docs.pydantic.dev/latest/concepts/pydantic_settings/" class="external-link" target="_blank">Pydantic: Settings management</a> ã§æäŸ›ã•れおいたす。
+幞いなこずに、Pydantic ã«ã¯ç’°å¢ƒå€‰æ•°ã‹ã‚‰æ¥ã‚‹èš­å®šã‚’扱うための優れたナヌティリティがあり、[Pydantic: Settings management](https://docs.pydantic.dev/latest/concepts/pydantic_settings/) ã§æäŸ›ã•れおいたす。
 
 ### `pydantic-settings` ã®ã‚€ãƒ³ã‚¹ãƒˆãƒŒãƒ« { #install-pydantic-settings }
 
-たず、[仮想環境](../virtual-environments.md){.internal-link target=_blank}を䜜成しお有効化し、`pydantic-settings` ãƒ‘ッケヌゞをむンストヌルしたす:
+たず、[仮想環境](../virtual-environments.md)を䜜成しお有効化し、`pydantic-settings` ãƒ‘ッケヌゞをむンストヌルしたす:
 
 <div class="termy">
 
@@ -100,7 +100,7 @@ $ ADMIN_EMAIL="deadpool@example.com" APP_NAME="ChimichangApp" fastapi run main.p
 
 ## åˆ¥ãƒ¢ã‚žãƒ¥ãƒŒãƒ«ã§ã®èš­å®š { #settings-in-another-module }
 
-[倧芏暡アプリケヌション - è€‡æ•°ãƒ•ァむル](../tutorial/bigger-applications.md){.internal-link target=_blank} ã§èŠ‹ãŸã‚ˆã†ã«ã€ã“ã‚Œã‚‰ã®èš­å®šã‚’åˆ¥ã®ãƒ¢ã‚žãƒ¥ãƒŒãƒ«ãƒ•ã‚¡ã‚€ãƒ«ã«çœ®ãã“ãšã‚‚ã§ããŸã™ã€‚
+[倧芏暡アプリケヌション - è€‡æ•°ãƒ•ァむル](../tutorial/bigger-applications.md) ã§èŠ‹ãŸã‚ˆã†ã«ã€ã“ã‚Œã‚‰ã®èš­å®šã‚’åˆ¥ã®ãƒ¢ã‚žãƒ¥ãƒŒãƒ«ãƒ•ã‚¡ã‚€ãƒ«ã«çœ®ãã“ãšã‚‚ã§ããŸã™ã€‚
 
 ãŸãšãˆã°ã€`config.py` ãšã„うファむルに次のように曞けたす:
 
@@ -112,7 +112,7 @@ $ ADMIN_EMAIL="deadpool@example.com" APP_NAME="ChimichangApp" fastapi run main.p
 
 /// tip | è±†çŸ¥è­˜
 
-[倧芏暡アプリケヌション - è€‡æ•°ãƒ•ァむル](../tutorial/bigger-applications.md){.internal-link target=_blank} ã§èŠ‹ãŸã‚ˆã†ã«ã€`__init__.py` ãƒ•ァむルも必芁です。
+[倧芏暡アプリケヌション - è€‡æ•°ãƒ•ァむル](../tutorial/bigger-applications.md) ã§èŠ‹ãŸã‚ˆã†ã«ã€`__init__.py` ãƒ•ァむルも必芁です。
 
 ///
 
@@ -172,7 +172,7 @@ $ ADMIN_EMAIL="deadpool@example.com" APP_NAME="ChimichangApp" fastapi run main.p
 
 ///
 
-Pydantic ã¯å€–郚ラむブラリを䜿っおこの皮のファむルからの読み蟌みをサポヌトしおいたす。詳现は <a href="https://docs.pydantic.dev/latest/concepts/pydantic_settings/#dotenv-env-support" class="external-link" target="_blank">Pydantic Settings: Dotenv (.env) support</a> ã‚’参照しおください。
+Pydantic ã¯å€–郚ラむブラリを䜿っおこの皮のファむルからの読み蟌みをサポヌトしおいたす。詳现は [Pydantic Settings: Dotenv (.env) support](https://docs.pydantic.dev/latest/concepts/pydantic_settings/#dotenv-env-support) ã‚’参照しおください。
 
 /// tip | è±†çŸ¥è­˜
 
@@ -197,7 +197,7 @@ APP_NAME="ChimichangApp"
 
 /// tip | è±†çŸ¥è­˜
 
-`model_config` å±žæ€§ã¯ Pydantic ã®èš­å®šå°‚甚です。詳しくは <a href="https://docs.pydantic.dev/latest/concepts/config/" class="external-link" target="_blank">Pydantic: Concepts: Configuration</a> ã‚’参照しおください。
+`model_config` å±žæ€§ã¯ Pydantic ã®èš­å®šå°‚甚です。詳しくは [Pydantic: Concepts: Configuration](https://docs.pydantic.dev/latest/concepts/config/) ã‚’参照しおください。
 
 ///
 
@@ -291,7 +291,7 @@ participant execute as Execute function
 
 ã“の方法は、ほずんどグロヌバル倉数のように振る舞いたす。しかし、䟝存関数を䜿っおいるので、テストのために簡単にオヌバヌラむドできたす。
 
-`@lru_cache` ã¯ Python æš™æº–ラむブラリの `functools` ã®äž€éƒšã§ã™ã€‚詳现は <a href="https://docs.python.org/3/library/functools.html#functools.lru_cache" class="external-link" target="_blank">Python ã® `@lru_cache` ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ</a>を参照しおください。
+`@lru_cache` ã¯ Python æš™æº–ラむブラリの `functools` ã®äž€éƒšã§ã™ã€‚詳现は [Python ã® `@lru_cache` ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ](https://docs.python.org/3/library/functools.html#functools.lru_cache)を参照しおください。
 
 ## ãŸãšã‚ { #recap }
 
index f38da1423e0bb65f626366ecfcc4cc556e9a4928..e9b17031b59e96334beb8c585db62c4086119982 100644 (file)
 
 ### è‡ªå‹• API ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ç¢ºèª { #check-the-automatic-api-docs }
 
-ã\81§ã\81¯ã\80\81`fastapi` Ã£\82³ã\83\9eã\83³ã\83\89ã\81§ã\81\93ã\81®ã\83\95ã\82¡ã\82ۋ\83«ã\82\92å®\9fÚ¡\8cã\81\97ã\81Ÿã\81\99:
+では、`fastapi` ã‚³ãƒžãƒ³ãƒ‰ã‚’実行したす:
 
 <div class="termy">
 
 ```console
-$ fastapi dev main.py
+$ fastapi dev
 
 <span style="color: green;">INFO</span>:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
 ```
 
 </div>
 
-そしお、<a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a> ã‚’開きたす。
+そしお、[http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) ã‚’開きたす。
 
 ãƒ¡ã‚€ãƒ³ã‚¢ãƒ—リ甚の自動 API ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒè¡šç€ºã•れ、そのアプリ自身の path operation ã®ã¿ãŒå«ãŸã‚ŒãŸã™:
 
 <img src="/img/tutorial/sub-applications/image01.png">
 
-次に、サブアプリケヌションのドキュメント <a href="http://127.0.0.1:8000/subapi/docs" class="external-link" target="_blank">http://127.0.0.1:8000/subapi/docs</a> ã‚’開きたす。
+次に、サブアプリケヌションのドキュメント [http://127.0.0.1:8000/subapi/docs](http://127.0.0.1:8000/subapi/docs) ã‚’開きたす。
 
 ã‚µãƒ–アプリケヌション甚の自動 API ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒè¡šç€ºã•れ、そのアプリ自身の path operation ã®ã¿ãŒã€æ­£ã—いサブパス接頭蟞 `/subapi` ã®äž‹ã§è¡šç€ºã•れたす:
 
@@ -64,4 +64,4 @@ $ fastapi dev main.py
 
 ã•らに、サブアプリケヌション自身が別のサブアプリケヌションをマりントしおいおも問題ありたせん。FastAPI ãŒã“れらの `root_path` ã‚’すべお自動的に凊理するためです。
 
-`root_path` ã®è©³çŽ°ã‚„æ˜Žç€ºçš„ãªæŒ‡å®šæ–¹æ³•ã«ã€ã„ãŠã¯ã€[プロキシの背埌で](behind-a-proxy.md){.internal-link target=_blank} ã®ç¯€ã§å­Šã¹ãŸã™ã€‚
+`root_path` ã®è©³çŽ°ã‚„æ˜Žç€ºçš„ãªæŒ‡å®šæ–¹æ³•ã«ã€ã„ãŠã¯ã€[プロキシの背埌で](behind-a-proxy.md) ã®ç¯€ã§å­Šã¹ãŸã™ã€‚
index 3c4827b88ef00e7a2a72b696f39b03d1347e2350..5495b73a0bba15940483ac6f75ba2bf7533ffab7 100644 (file)
@@ -8,7 +8,7 @@ Starlette ã«ã‚ˆã£ãŠæäŸ›ã•れ、**FastAPI** ã‚¢ãƒ—リで盎接䜿える、
 
 ## äŸå­˜é–¢ä¿‚のむンストヌル { #install-dependencies }
 
-[仮想環境](../virtual-environments.md){.internal-link target=_blank} ã‚’䜜成しお有効化し、`jinja2` ã‚’むンストヌルしたす:
+[仮想環境](../virtual-environments.md) ã‚’䜜成しお有効化し、`jinja2` ã‚’むンストヌルしたす:
 
 <div class="termy">
 
@@ -123,4 +123,4 @@ Item ID: 42
 
 ## ã•らに詳しく { #more-details }
 
-より詳しい内容テンプレヌトのテスト方法などに぀いおは、<a href="https://www.starlette.dev/templates/" class="external-link" target="_blank">Starlette ã®ãƒ†ãƒ³ãƒ—レヌトに関するドキュメント</a>を参照しおください。
+より詳しい内容テンプレヌトのテスト方法などに぀いおは、[Starlette ã®ãƒ†ãƒ³ãƒ—レヌトに関するドキュメント](https://www.starlette.dev/templates/)を参照しおください。
index 7f708ea1a29ec216006493cf0f39e0df58df5e67..745e63608736b3380b9443f38850b3da6f4b9ad0 100644 (file)
@@ -8,6 +8,6 @@ WebSocket ã‚’テストするのにも同じ `TestClient` ã‚’䜿甚できたす
 
 /// note | å‚™è€ƒ
 
-詳现に぀いおは、Starlette ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã€Œ<a href="https://www.starlette.dev/testclient/#testing-websocket-sessions" class="external-link" target="_blank">WebSocket ã®ãƒ†ã‚¹ãƒˆ</a>」を参照しおください。
+詳现に぀いおは、Starlette ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã€Œ[WebSocket ã®ãƒ†ã‚¹ãƒˆ](https://www.starlette.dev/testclient/#testing-websocket-sessions)」を参照しおください。
 
 ///
index 1e564f594559322d275f0e9cf894cd97d50b1d4b..59d7290e67ff080a0d677004abd5efb68756cffc 100644 (file)
@@ -15,7 +15,7 @@
 
 ## `Request` ã‚ªãƒ–ゞェクトの詳çް { #details-about-the-request-object }
 
-**FastAPI** ã¯å†…郚的には **Starlette** ã®äžŠã«ã„く぀かのツヌル局を茉せたものなので、必芁に応じお Starlette ã® <a href="https://www.starlette.dev/requests/" class="external-link" target="_blank">`Request`</a> ã‚ªãƒ–ゞェクトを盎接䜿えたす。
+**FastAPI** ã¯å†…郚的には **Starlette** ã®äžŠã«ã„く぀かのツヌル局を茉せたものなので、必芁に応じお Starlette ã® [`Request`](https://www.starlette.dev/requests/) ã‚ªãƒ–ゞェクトを盎接䜿えたす。
 
 ãŸãŸã€`Request` ã‚ªãƒ–ゞェクトから盎接デヌタ䟋: ãƒœãƒ‡ã‚£ïŒ‰ã‚’取埗する堎合、そのデヌタは FastAPI ã«ã‚ˆã£ãŠæ€œèšŒãƒ»å€‰æ›ãƒ»ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆåŒ–OpenAPI ã«ã‚ˆã‚‹è‡ªå‹• API ãƒŠãƒŒã‚¶ãƒŒã‚€ãƒ³ã‚¿ãƒŒãƒ•ェヌス向けされたせん。
 
@@ -45,7 +45,7 @@ path operation é–¢æ•°ã®åŒ•数ずしお `Request` åž‹ã®ãƒ‘ラメヌタを宣蚀
 
 ## `Request` ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ { #request-documentation }
 
-より詳しくは、<a href="https://www.starlette.dev/requests/" class="external-link" target="_blank">公匏 Starlette ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚µã‚€ãƒˆã® `Request` ã‚ªãƒ–ゞェクト</a>を参照しおください。
+より詳しくは、[公匏 Starlette ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚µã‚€ãƒˆã® `Request` ã‚ªãƒ–ゞェクト](https://www.starlette.dev/requests/)を参照しおください。
 
 /// note | æŠ€è¡“詳çް
 
index efc02079bb8fd26162338b35b5dc2b9f893e19c0..802110b587081833d826007417c4d38f17af84fd 100644 (file)
@@ -1,10 +1,10 @@
 # WebSockets { #websockets }
 
-**FastAPI**で<a href="https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API" class="external-link" target="_blank">WebSockets</a>が䜿甚できたす。
+**FastAPI**で[WebSockets](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API)が䜿甚できたす。
 
 ## `websockets`のむンストヌル { #install-websockets }
 
-[仮想環境](../virtual-environments.md){.internal-link target=_blank}を䜜成し、それを有効化しおから、「WebSocket」プロトコルを簡単に䜿えるようにするPythonラむブラリの`websockets`をむンストヌルしおください。
+[仮想環境](../virtual-environments.md)を䜜成し、それを有効化しおから、「WebSocket」プロトコルを簡単に䜿えるようにするPythonラむブラリの`websockets`をむンストヌルしおください。
 
 <div class="termy">
 
@@ -64,19 +64,19 @@ WebSocketルヌトでは、メッセヌゞを埅機しお送信するために `
 
 ## è©Šã—おみる { #try-it }
 
-ã\83\95ã\82¡ã\82ۋ\83«å\90\8dã\81\8c `main.py` Ã£\81§ã\81\82ã\82\8b堎å\90\88ã\80\81À»¥Àž\8bã\81§アプリケヌションを実行したす。
+ã\82³ã\83΋\83\89ã\82\92 `main.py` Ã£\81«å\85¥ã\82\8cã\81Šã\80\81アプリケヌションを実行したす。
 
 <div class="termy">
 
 ```console
-$ fastapi dev main.py
+$ fastapi dev
 
 <span style="color: green;">INFO</span>:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
 ```
 
 </div>
 
-ブラりザで <a href="http://127.0.0.1:8000" class="external-link" target="_blank">http://127.0.0.1:8000</a> ã‚’開きたす。
+ブラりザで [http://127.0.0.1:8000](http://127.0.0.1:8000) ã‚’開きたす。
 
 æ¬¡ã®ã‚ˆã†ãªã‚·ãƒ³ãƒ—ルなペヌゞが衚瀺されたす。
 
@@ -115,25 +115,25 @@ WebSocket゚ンドポむントでは、`fastapi` ã‹ã‚‰ä»¥äž‹ã‚’むンポヌト
 
 ã“れはWebSocketであるため、`HTTPException` ã‚’発生させるこずはあたり意味がありたせん。代わりに `WebSocketException` ã‚’発生させたす。
 
-クロヌゞングコヌドは、<a href="https://tools.ietf.org/html/rfc6455#section-7.4.1" class="external-link" target="_blank">仕様で定矩された有効なコヌド</a>の䞭から䜿甚するこずができたす。
+クロヌゞングコヌドは、[仕様で定矩された有効なコヌド](https://tools.ietf.org/html/rfc6455#section-7.4.1)の䞭から䜿甚するこずができたす。
 
 ///
 
 ### äŸå­˜é–¢ä¿‚を甚いおWebSocketsを詊しおみる { #try-the-websockets-with-dependencies }
 
-ã\83\95ã\82¡ã\82ۋ\83«å\90\8dã\81\8c `main.py` Ã£\81§ã\81\82ã\82\8b堎å\90\88ã\80\81À»¥Àž\8bã\81§ã\82¢ã\83\97ã\83ªã\82±ã\83΋\82·ã\83§ã\83³ã\82\92å®\9fÚ¡\8cã\81\97ã\81Ÿã\81\99ã\80\82
+アプリケヌションを実行したす。
 
 <div class="termy">
 
 ```console
-$ fastapi dev main.py
+$ fastapi dev
 
 <span style="color: green;">INFO</span>:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
 ```
 
 </div>
 
-ブラりザで <a href="http://127.0.0.1:8000" class="external-link" target="_blank">http://127.0.0.1:8000</a> ã‚’開きたす。
+ブラりザで [http://127.0.0.1:8000](http://127.0.0.1:8000) ã‚’開きたす。
 
 ãã“で、以䞋を蚭定できたす。
 
@@ -174,7 +174,7 @@ Client #1596980209979 left the chat
 
 ã—かし、すべおがメモリ内の単䞀のリストで凊理されるため、プロセスの実行䞭にのみ機胜し、単䞀のプロセスでのみ機胜するこずに泚意しおください。
 
-FastAPIず簡単に統合できお、RedisやPostgreSQLなどでサポヌトされおいる、より堅牢なものが必芁なら、<a href="https://github.com/encode/broadcaster" class="external-link" target="_blank">encode/broadcaster</a> ã‚’確認しおください。
+FastAPIず簡単に統合できお、RedisやPostgreSQLなどでサポヌトされおいる、より堅牢なものが必芁なら、[encode/broadcaster](https://github.com/encode/broadcaster) ã‚’確認しおください。
 
 ///
 
@@ -182,5 +182,5 @@ FastAPIず簡単に統合できお、RedisやPostgreSQLなどでサポヌトさ
 
 ã‚ªãƒ—ションの詳现に぀いおは、Starletteのドキュメントを確認しおください。
 
-* <a href="https://www.starlette.dev/websockets/" class="external-link" target="_blank">`WebSocket` ã‚¯ãƒ©ã‚¹</a>.
-* <a href="https://www.starlette.dev/endpoints/#websocketendpoint" class="external-link" target="_blank">クラスベヌスのWebSocket凊理</a>.
+* [`WebSocket` ã‚¯ãƒ©ã‚¹](https://www.starlette.dev/websockets/)。
+* [クラスベヌスのWebSocket凊理](https://www.starlette.dev/endpoints/#websocketendpoint)。
index b06b4a3299dc77420fad6b43a8b394530973e9f9..6895eb658443bf722c3c73c906473c752dab8019 100644 (file)
@@ -1,6 +1,6 @@
 # WSGI ã®çµ„み蟌み - Flask、Django ãªã© { #including-wsgi-flask-django-others }
 
-[サブアプリケヌション - ãƒžã‚Šãƒ³ãƒˆ](sub-applications.md){.internal-link target=_blank}、[プロキシの背埌](behind-a-proxy.md){.internal-link target=_blank} ã§èŠ‹ãŸã‚ˆã†ã«ã€WSGI ã‚¢ãƒ—リケヌションをマりントできたす。
+[サブアプリケヌション - ãƒžã‚Šãƒ³ãƒˆ](sub-applications.md)、[プロキシの背埌](behind-a-proxy.md) ã§èŠ‹ãŸã‚ˆã†ã«ã€WSGI ã‚¢ãƒ—リケヌションをマりントできたす。
 
 ãã®ãŸã‚ã« `WSGIMiddleware` ã‚’䜿甚しお、Flask ã‚„ Django ãªã©ã® WSGI ã‚¢ãƒ—リをラップできたす。
 
 
 ãã‚Œä»¥å€–は **FastAPI** ãŒå‡Šç†ã—たす。
 
-実行しお <a href="http://localhost:8000/v1/" class="external-link" target="_blank">http://localhost:8000/v1/</a> ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšã€Flask ã‹ã‚‰ã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãŒè¡šç€ºã•れたす:
+実行しお [http://localhost:8000/v1/](http://localhost:8000/v1/) ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšã€Flask ã‹ã‚‰ã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãŒè¡šç€ºã•れたす:
 
 ```txt
 Hello, World from Flask!
 ```
 
-さらに <a href="http://localhost:8000/v2" class="external-link" target="_blank">http://localhost:8000/v2</a> ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšã€FastAPI ã‹ã‚‰ã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãŒè¡šç€ºã•れたす:
+さらに [http://localhost:8000/v2](http://localhost:8000/v2) ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšã€FastAPI ã‹ã‚‰ã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãŒè¡šç€ºã•れたす:
 
 ```JSON
 {
index 8b1ec072d629c2b27d634af3e548de975a00ed81..34017b00e96053c3e4a3932627448707104f05bc 100644 (file)
@@ -14,7 +14,7 @@
 
 ## ä»¥å‰ã®ãƒ„ヌル { #previous-tools }
 
-### <a href="https://www.djangoproject.com/" class="external-link" target="_blank">Django</a> { #django }
+### [Django](https://www.djangoproject.com/) { #django }
 
 Pythonのフレヌムワヌクの䞭で最もポピュラヌで、広く信頌されおいたす。Instagramのようなシステムの構築に䜿われおいたす。
 
@@ -22,7 +22,7 @@ Pythonのフレヌムワヌクの䞭で最もポピュラヌで、広く信頌
 
 ãƒãƒƒã‚¯ã‚šãƒ³ãƒ‰ã§HTMLを生成するために䜜られたものであり、珟代的なフロント゚ンド (ReactやVue.js、Angularなど) ã‚„、他のシステム (<abbr title="Internet of Things - ãƒ¢ãƒŽã®ã‚€ãƒ³ã‚¿ãƒŒãƒãƒƒãƒˆ">IoT</abbr>デバむスなど) ãšé€šä¿¡ã™ã‚‹APIを構築するために䜜られたものではありたせん。
 
-### <a href="https://www.django-rest-framework.org/" class="external-link" target="_blank">Django REST Framework</a> { #django-rest-framework }
+### [Django REST Framework](https://www.django-rest-framework.org/) { #django-rest-framework }
 
 Django REST Frameworkは、Djangoを䞋敷きにしおWeb APIを構築する柔軟なツヌルキットずしお、APIの機胜を向䞊させるために䜜られたした。
 
@@ -42,7 +42,7 @@ Django REST Framework ã¯ Tom Christie ã«ã‚ˆã£ãŠäœœæˆã•れたした。Starl
 
 ///
 
-### <a href="https://flask.palletsprojects.com" class="external-link" target="_blank">Flask</a> { #flask }
+### [Flask](https://flask.palletsprojects.com) { #flask }
 
 Flask ã¯ã€Œãƒžã‚€ã‚¯ãƒ­ãƒ•レヌムワヌク」であり、デヌタベヌスずの統合のようなDjangoがデフォルトで持぀倚くの機胜は含たれおいたせん。
 
@@ -64,7 +64,7 @@ Flaskのシンプルさを考えるず、APIを構築するのに適しおいる
 
 ///
 
-### <a href="https://requests.readthedocs.io" class="external-link" target="_blank">Requests</a> { #requests }
+### [Requests](https://requests.readthedocs.io) { #requests }
 
 **FastAPI**は実際には**Requests**の代替ではありたせん。それらのスコヌプは倧きく異なりたす。
 
@@ -106,7 +106,7 @@ def read_url():
 
 ///
 
-### <a href="https://swagger.io/" class="external-link" target="_blank">Swagger</a> / <a href="https://github.com/OAI/OpenAPI-Specification/" class="external-link" target="_blank">OpenAPI</a> { #swagger-openapi }
+### [Swagger](https://swagger.io/) / [OpenAPI](https://github.com/OAI/OpenAPI-Specification/) { #swagger-openapi }
 
 ç§ãŒDjango REST Frameworkに求めおいた䞻な機胜は、APIの自動的なドキュメント生成でした。
 
@@ -124,8 +124,8 @@ def read_url():
 
 ãã—お、暙準に基づくナヌザヌむンタヌフェヌスツヌルを統合しおいたす。
 
-* <a href="https://github.com/swagger-api/swagger-ui" class="external-link" target="_blank">Swagger UI</a>
-* <a href="https://github.com/Rebilly/ReDoc" class="external-link" target="_blank">ReDoc</a>
+* [Swagger UI](https://github.com/swagger-api/swagger-ui)
+* [ReDoc](https://github.com/Rebilly/ReDoc)
 
 ã“の二぀は人気で安定したものずしお遞択されたしたが、少し怜玢しおみるず、 (**FastAPI**ず同時に䜿甚できる) OpenAPIのための倚くの代替ずなるツヌルを芋぀けるこずができたす。
 
@@ -135,7 +135,7 @@ def read_url():
 
 ã„く぀かのFlask RESTフレヌムワヌクがありたすが、それらを調査しおみたずころ、倚くのものが䞍適切な問題が残ったたた、䞭断されたり攟眮されおいるこずがわかりたした。
 
-### <a href="https://marshmallow.readthedocs.io/en/stable/" class="external-link" target="_blank">Marshmallow</a> { #marshmallow }
+### [Marshmallow](https://marshmallow.readthedocs.io/en/stable/) { #marshmallow }
 
 APIシステムで必芁ずされる䞻な機胜の䞀぀に、コヌド (Python) ã‹ã‚‰ãƒ‡ãƒŒã‚¿ã‚’取り出しお、ネットワヌクを介しお送れるものに倉換するデヌタの「<dfn title="別名: marshalling、倉換">シリアラむれヌション</dfn>」がありたす。䟋えば、デヌタベヌスのデヌタを含むオブゞェクトをJSONオブゞェクトに倉換したり、`datetime` ã‚ªãƒ–ゞェクトを文字列に倉換するなどです。
 
@@ -153,7 +153,7 @@ APIが必芁ずするもう䞀぀の倧きな機胜はデヌタのバリデヌ
 
 ///
 
-### <a href="https://webargs.readthedocs.io/en/latest/" class="external-link" target="_blank">Webargs</a> { #webargs }
+### [Webargs](https://webargs.readthedocs.io/en/latest/) { #webargs }
 
 APIに求められる他の倧きな機胜ずしお、<dfn title="Pythonデヌタぞの読み蟌みず倉換">受信したリク゚ストデヌタのパヌス</dfn>がありたす。
 
@@ -175,7 +175,7 @@ Webargsは、Marshmallowず同じ開発者により䜜られたした。
 
 ///
 
-### <a href="https://apispec.readthedocs.io/en/stable/" class="external-link" target="_blank">APISpec</a> { #apispec }
+### [APISpec](https://apispec.readthedocs.io/en/stable/) { #apispec }
 
 MarshmallowずWebargsはバリデヌション、パヌス、シリアラむれヌションをプラグむンずしお提䟛しおいたす。
 
@@ -205,7 +205,7 @@ OpenAPIずいう、APIに぀いおのオヌプンな暙準をサポヌトしお
 
 ///
 
-### <a href="https://flask-apispec.readthedocs.io/en/latest/" class="external-link" target="_blank">Flask-apispec</a> { #flask-apispec }
+### [Flask-apispec](https://flask-apispec.readthedocs.io/en/latest/) { #flask-apispec }
 
 Webargs、Marshmallow、APISpecを連携させたFlaskプラグむンです。
 
@@ -219,11 +219,11 @@ Flask、Flask-apispec、Marshmallow、Webargsの組み合わせは、**FastAPI**
 
 ã“れを䜿うこずで、いく぀かのFlaskフルスタックゞェネレヌタを䜜成するこずになりたした。これらは私 (ずいく぀かの倖郚のチヌム) ãŒä»ŠãŸã§äœ¿ã£ãŠããŸãƒ¡ã‚€ãƒ³ã®ã‚¹ã‚¿ãƒƒã‚¯ã§ã™ã€‚
 
-* <a href="https://github.com/tiangolo/full-stack" class="external-link" target="_blank">https://github.com/tiangolo/full-stack</a>
-* <a href="https://github.com/tiangolo/full-stack-flask-couchbase" class="external-link" target="_blank">https://github.com/tiangolo/full-stack-flask-couchbase</a>
-* <a href="https://github.com/tiangolo/full-stack-flask-couchdb" class="external-link" target="_blank">https://github.com/tiangolo/full-stack-flask-couchdb</a>
+* [https://github.com/tiangolo/full-stack](https://github.com/tiangolo/full-stack)
+* [https://github.com/tiangolo/full-stack-flask-couchbase](https://github.com/tiangolo/full-stack-flask-couchbase)
+* [https://github.com/tiangolo/full-stack-flask-couchdb](https://github.com/tiangolo/full-stack-flask-couchdb)
 
-そしお、これらのフルスタックゞェネレヌタヌは、[**FastAPI** Project Generators](project-generation.md){.internal-link target=_blank}の元ずなっおいたした。
+そしお、これらのフルスタックゞェネレヌタヌは、[**FastAPI** Project Generators](project-generation.md)の元ずなっおいたした。
 
 /// info | æƒ…å ±
 
@@ -237,7 +237,7 @@ Flask-apispecはMarshmallowず同じ開発者により䜜成されたした。
 
 ///
 
-### <a href="https://nestjs.com/" class="external-link" target="_blank">NestJS</a> (ず<a href="https://angular.io/" class="external-link" target="_blank">Angular</a>) { #nestjs-and-angular }
+### [NestJS](https://nestjs.com/) (ず[Angular](https://angular.io/)) { #nestjs-and-angular }
 
 NestJSはAngularにむンスパむアされたJavaScript (TypeScript) NodeJSフレヌムワヌクで、Pythonですらありたせん。
 
@@ -259,13 +259,13 @@ Angular 2にむンスピレヌションを受けた、統合された䟝存性
 
 ///
 
-### <a href="https://sanic.readthedocs.io/en/latest/" class="external-link" target="_blank">Sanic</a> { #sanic }
+### [Sanic](https://sanic.readthedocs.io/en/latest/) { #sanic }
 
 `asyncio`に基づいた、Pythonのフレヌムワヌクの䞭でも非垞に高速なものの䞀぀です。Flaskず非垞に䌌た䜜りになっおいたす。
 
 /// note | æŠ€è¡“詳çް
 
-Pythonの`asyncio`ルヌプの代わりに、<a href="https://github.com/MagicStack/uvloop" class="external-link" target="_blank">`uvloop`</a>が利甚されおいたす。それにより、非垞に高速です。
+Pythonの`asyncio`ルヌプの代わりに、[`uvloop`](https://github.com/MagicStack/uvloop)が利甚されおいたす。それにより、非垞に高速です。
 
 `Uvicorn`ず`Starlette`に明らかなむンスピレヌションを䞎えおおり、それらは珟圚オヌプンなベンチマヌクにおいおSanicより高速です。
 
@@ -279,7 +279,7 @@ Pythonの`asyncio`ルヌプの代わりに、<a href="https://github.com/MagicSt
 
 ///
 
-### <a href="https://falconframework.org/" class="external-link" target="_blank">Falcon</a> { #falcon }
+### [Falcon](https://falconframework.org/) { #falcon }
 
 Falconはもう䞀぀の高性胜Pythonフレヌムワヌクで、ミニマムに蚭蚈されおおり、Hugのような他のフレヌムワヌクの基盀ずしお動䜜したす。
 
@@ -297,7 +297,7 @@ Hug (HugはFalconをベヌスにしおいたす) ãšäž€ç·’に、**FastAPI**が`r
 
 ///
 
-### <a href="https://moltenframework.com/" class="external-link" target="_blank">Molten</a> { #molten }
+### [Molten](https://moltenframework.com/) { #molten }
 
 **FastAPI**を構築する最初の段階でMoltenを発芋したした。そしお、それは非垞に䌌たようなアむデアを持っおいたす。
 
@@ -321,7 +321,7 @@ Pydanticのようなデヌタのバリデヌション、シリアラむれヌシ
 
 ///
 
-### <a href="https://github.com/hugapi/hug" class="external-link" target="_blank">Hug</a> { #hug }
+### [Hug](https://github.com/hugapi/hug) { #hug }
 
 Hugは、Pythonの型ヒントを利甚しおAPIパラメヌタの型宣蚀を実装した最初のフレヌムワヌクの1぀です。これは玠晎らしいアむデアで、他のツヌルが同じこずをするきっかけずなりたした。
 
@@ -337,7 +337,7 @@ OpenAPIやJSON Schemaのような暙準に基づいたものではありたせ
 
 /// info | æƒ…å ±
 
-HugはTimothy Crosleyにより䜜成されたした。圌は<a href="https://github.com/timothycrosley/isort" class="external-link" target="_blank">`isort`</a>など、Pythonのファむル内のむンポヌトの䞊び替えを自動的におこうなう玠晎らしいツヌルの開発者です。
+HugはTimothy Crosleyにより䜜成されたした。圌は[`isort`](https://github.com/timothycrosley/isort)など、Pythonのファむル内のむンポヌトの䞊び替えを自動的におこうなう玠晎らしいツヌルの開発者です。
 
 ///
 
@@ -351,7 +351,7 @@ Hugは、**FastAPI**がヘッダヌやクッキヌを蚭定するために関数
 
 ///
 
-### <a href="https://github.com/encode/apistar" class="external-link" target="_blank">APIStar</a> (<= 0.5) { #apistar-0-5 }
+### [APIStar](https://github.com/encode/apistar) (<= 0.5) { #apistar-0-5 }
 
 **FastAPI**を構築するこずを決める盎前に、**APIStar**サヌバヌを芋぀けたした。それは私が探しおいたものがほがすべお含たれおおり、玠晎らしいデザむンでした。
 
@@ -401,7 +401,7 @@ APIStarはTom Christieにより開発されたした。以䞋の開発者でも
 
 ## **FastAPI**が利甚しおいるもの { #used-by-fastapi }
 
-### <a href="https://docs.pydantic.dev/" class="external-link" target="_blank">Pydantic</a> { #pydantic }
+### [Pydantic](https://docs.pydantic.dev/) { #pydantic }
 
 Pydanticは、Pythonの型ヒントを元にデヌタのバリデヌション、シリアラむれヌション、 (JSON Schemaを䜿甚した) ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’定矩するラむブラリです。
 
@@ -413,11 +413,11 @@ Marshmallowに匹敵したすが、ベンチマヌクではMarshmallowよりも
 
 ãƒ‡ãƒŒã‚¿ã®ãƒãƒªãƒ‡ãƒŒã‚·ãƒ§ãƒ³ã€ãƒ‡ãƒŒã‚¿ã®ã‚·ãƒªã‚¢ãƒ©ã‚€ã‚ŒãƒŒã‚·ãƒ§ãƒ³ã€è‡ªå‹•的なモデルの (JSON Schemaに基づいた) ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆåŒ–の党おを扱えたす。
 
-**FastAPI**はJSON SchemaのデヌタをOpenAPIに利甚したす。
+**FastAPI**はそのJSON SchemaデヌタをOpenAPIに取り蟌みたす (それ以倖にも倚くのこずを行いたす)。
 
 ///
 
-### <a href="https://www.starlette.dev/" class="external-link" target="_blank">Starlette</a> { #starlette }
+### [Starlette](https://www.starlette.dev/) { #starlette }
 
 Starletteは、軜量な<dfn title="非同期Python Webアプリケヌションを構築するための新しい暙準">ASGI</dfn>フレヌムワヌク/ツヌルキットで、高性胜な非同期サヌビスの構築に最適です。
 
@@ -462,7 +462,7 @@ webに関するコアな郚分を党お扱いたす。その䞊に機胜を远
 
 ///
 
-### <a href="https://www.uvicorn.dev/" class="external-link" target="_blank">Uvicorn</a> { #uvicorn }
+### [Uvicorn](https://www.uvicorn.dev/) { #uvicorn }
 
 Uvicornは非垞に高速なASGIサヌバヌで、uvloopずhttptoolsにより構成されおいたす。
 
@@ -476,10 +476,10 @@ Starletteや**FastAPI**のサヌバヌずしお掚奚されおいたす。
 
 ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚€ãƒ³ã‚ªãƒ—ション `--workers` ã‚’䜿っお、非同期のマルチプロセスサヌバヌにできたす。
 
-詳现は[デプロむ](deployment/index.md){.internal-link target=_blank}の項目で確認しおください。
+詳现は[デプロむ](deployment/index.md)の項目で確認しおください。
 
 ///
 
 ## ãƒ™ãƒ³ãƒãƒžãƒŒã‚¯ ãš ã‚¹ãƒ”ヌド { #benchmarks-and-speed }
 
-Uvicorn、Starlette、FastAPIの違いを理解、比范、確認するには、[ベンチマヌク](benchmarks.md){.internal-link target=_blank}を確認しおください。
+Uvicorn、Starlette、FastAPIの違いを理解、比范、確認するには、[ベンチマヌク](benchmarks.md)を確認しおください。
index bf4acda3f76b4a627ba94f1082e5b3aaa8813b49..e2886d74e219b31b08d04f98bfc2584edcb67010 100644 (file)
@@ -141,7 +141,7 @@ def results():
 
 /// info | æƒ…å ±
 
-矎しいむラストは <a href="https://www.instagram.com/ketrinadrawsalot" class="external-link" target="_blank">Ketrina Thompson</a> ã«ã‚ˆã‚‹ã‚‚のです。🎚
+矎しいむラストは [Ketrina Thompson](https://www.instagram.com/ketrinadrawsalot) ã«ã‚ˆã‚‹ã‚‚のです。🎚
 
 ///
 
@@ -207,7 +207,7 @@ def results():
 
 /// info | æƒ…å ±
 
-矎しいむラストは <a href="https://www.instagram.com/ketrinadrawsalot" class="external-link" target="_blank">Ketrina Thompson</a> ã«ã‚ˆã‚‹ã‚‚のです。🎚
+矎しいむラストは [Ketrina Thompson](https://www.instagram.com/ketrinadrawsalot) ã«ã‚ˆã‚‹ã‚‚のです。🎚
 
 ///
 
@@ -251,7 +251,7 @@ def results():
 
 ãã—お、それが **FastAPI** ã§åŸ—られるパフォヌマンスの氎準です。
 
-さらに、䞊列性ず非同期性を同時に掻甚できるため、テストされた倚くの NodeJS ãƒ•レヌムワヌクより高い性胜を発揮し、C ã«è¿‘いコンパむル蚀語である Go ãšåŒç­‰ã®æ€§èƒœã«ãªã‚ŠãŸã™ <a href="https://www.techempower.com/benchmarks/#section=data-r17&hw=ph&test=query&l=zijmkf-1" class="external-link" target="_blank">(すべお Starlette ã®ãŠã‹ã’です)</a>。
+さらに、䞊列性ず非同期性を同時に掻甚できるため、テストされた倚くの NodeJS ãƒ•レヌムワヌクより高い性胜を発揮し、C ã«è¿‘いコンパむル蚀語である Go ãšåŒç­‰ã®æ€§èƒœã«ãªã‚ŠãŸã™ [(すべお Starlette ã®ãŠã‹ã’です)](https://www.techempower.com/benchmarks/#section=data-r17&hw=ph&test=query&l=zijmkf-1)。
 
 ### äžŠè¡Œå‡Šç†ã¯äžŠåˆ—凊理より優れおいる { #is-concurrency-better-than-parallelism }
 
@@ -298,7 +298,7 @@ CPU ãƒã‚Šãƒ³ãƒ‰ãªæ“äœœã®äž€èˆ¬çš„な䟋は、耇雑な数倀凊理が必èЁ
 
 ã•らに、Python ãŒ **デヌタサむ゚ンス**、機械孊習、特にディヌプラヌニングの䞻芁蚀語であるずいう事実も盞たっお、FastAPI ã¯ãƒ‡ãƒŒã‚¿ã‚µã‚€ã‚šãƒ³ã‚¹/機械孊習の Web API ã‚„アプリケヌション (ほか倚数) ã«éžåžžã«é©ã—おいたす。
 
-本番環境でこの䞊列性を実珟する方法は、[デプロむ](deployment/index.md){.internal-link target=_blank} ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’参照しおください。
+本番環境でこの䞊列性を実珟する方法は、[デプロむ](deployment/index.md) ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’参照しおください。
 
 ## `async` ãš `await` { #async-and-await }
 
@@ -363,13 +363,13 @@ async def read_burgers():
 
 ### è‡ªåˆ†ã§ async ã‚³ãƒŒãƒ‰ã‚’曞く { #write-your-own-async-code }
 
-Starlette (**FastAPI** ã‚‚) ã¯ <a href="https://anyio.readthedocs.io/en/stable/" class="external-link" target="_blank">AnyIO</a> ã®äžŠã«æ§‹ç¯‰ã•れおおり、暙準ラむブラリの <a href="https://docs.python.org/3/library/asyncio-task.html" class="external-link" target="_blank">asyncio</a> ãš <a href="https://trio.readthedocs.io/en/stable/" class="external-link" target="_blank">Trio</a> ã®äž¡æ–¹ã«å¯Ÿå¿œã—おいたす。
+Starlette (**FastAPI** ã‚‚) ã¯ [AnyIO](https://anyio.readthedocs.io/en/stable/) ã®äžŠã«æ§‹ç¯‰ã•れおおり、暙準ラむブラリの [asyncio](https://docs.python.org/3/library/asyncio-task.html) ãš [Trio](https://trio.readthedocs.io/en/stable/) ã®äž¡æ–¹ã«å¯Ÿå¿œã—おいたす。
 
-特に、あなた自身のコヌド内で、より高床なパタヌンを必芁ずする発展的な䞊行凊理のナヌスケヌスに察しお、<a href="https://anyio.readthedocs.io/en/stable/" class="external-link" target="_blank">AnyIO</a> ã‚’盎接䜿えたす。
+特に、あなた自身のコヌド内で、より高床なパタヌンを必芁ずする発展的な䞊行凊理のナヌスケヌスに察しお、[AnyIO](https://anyio.readthedocs.io/en/stable/) ã‚’盎接䜿えたす。
 
-仮に FastAPI ã‚’䜿っおいなくおも、<a href="https://anyio.readthedocs.io/en/stable/" class="external-link" target="_blank">AnyIO</a> ã§ç‹¬è‡ªã® async ã‚¢ãƒ—リケヌションを曞けば、高い互換性ず利点 (䟋: æ§‹é€ åŒ–䞊行性) ã‚’埗られたす。
+仮に FastAPI ã‚’䜿っおいなくおも、[AnyIO](https://anyio.readthedocs.io/en/stable/) ã§ç‹¬è‡ªã® async ã‚¢ãƒ—リケヌションを曞けば、高い互換性ず利点 (䟋: æ§‹é€ åŒ–䞊行性) ã‚’埗られたす。
 
-私は AnyIO ã®äžŠã«è–„い局ずしお、型泚釈を少し改善し、より良い**補完**や**むンラむン゚ラヌ**などを埗るための別ラむブラリも䜜りたした。たた、**理解**しお**自分で async ã‚³ãƒŒãƒ‰ã‚’曞く**のに圹立぀フレンドリヌなむントロ/チュヌトリアルもありたす: <a href="https://asyncer.tiangolo.com/" class="external-link" target="_blank">Asyncer</a>。特に、**async ã‚³ãƒŒãƒ‰ãšé€šåžžã®** (ブロッキング/同期) **コヌドを組み合わせる**必芁がある堎合に有甚です。
+私は AnyIO ã®äžŠã«è–„い局ずしお、型泚釈を少し改善し、より良い**補完**や**むンラむン゚ラヌ**などを埗るための別ラむブラリも䜜りたした。たた、**理解**しお**自分で async ã‚³ãƒŒãƒ‰ã‚’曞く**のに圹立぀フレンドリヌなむントロ/チュヌトリアルもありたす: [Asyncer](https://asyncer.tiangolo.com/)。特に、**async ã‚³ãƒŒãƒ‰ãšé€šåžžã®** (ブロッキング/同期) **コヌドを組み合わせる**必芁がある堎合に有甚です。
 
 ### éžåŒæœŸã‚³ãƒŒãƒ‰ã®ä»–の圢匏 { #other-forms-of-asynchronous-code }
 
@@ -381,7 +381,7 @@ Starlette (**FastAPI** ã‚‚) ã¯ <a href="https://anyio.readthedocs.io/en/stable/
 
 ãã‚Œä»¥å‰ã¯ã€éžåŒæœŸã‚³ãƒŒãƒ‰ã®æ‰±ã„はかなり耇雑で難解でした。
 
-以前の Python ã§ã¯ã‚¹ãƒ¬ãƒƒãƒ‰ã‚„ <a href="https://www.gevent.org/" class="external-link" target="_blank">Gevent</a> ã‚’䜿えたしたが、コヌドの理解・デバッグ・思考がはるかに難しくなりたす。
+以前の Python ã§ã¯ã‚¹ãƒ¬ãƒƒãƒ‰ã‚„ [Gevent](https://www.gevent.org/) ã‚’䜿えたしたが、コヌドの理解・デバッグ・思考がはるかに難しくなりたす。
 
 ä»¥å‰ã® NodeJS / ãƒ–ラりザ JavaScript ã§ã¯ã€Œã‚³ãƒŒãƒ«ãƒãƒƒã‚¯ã€ã‚’䜿っおおり、「コヌルバック地獄」を招きたした。
 
@@ -419,15 +419,15 @@ Starlette (**FastAPI** ã‚‚) ã¯ <a href="https://anyio.readthedocs.io/en/stable/
 
 äžŠèš˜ãšã¯ç•°ãªã‚‹å‹•䜜の別の非同期フレヌムワヌクから来おおり、ほんのわずかなパフォヌマンス向䞊 (箄 100 ãƒŠãƒŽç§’) ã‚’狙っお、蚈算のみの些现な *path operation é–¢æ•°* ã‚’玠の `def` ã§å®šçŸ©ã™ã‚‹ã“ずに慣れおいる堎合、**FastAPI** ã§ã¯åŠ¹æžœãŒãŸã£ãŸãé€†ã«ãªã‚‹ç‚¹ã«æ³šæ„ã—ãŠãã ã•ã„ã€‚ã“ã‚Œã‚‰ã®å Žåˆã€*path operation é–¢æ•°* ãŒãƒ–ロッキングな <abbr title="Input/Output - å…¥å‡ºåŠ›: ãƒ‡ã‚£ã‚¹ã‚¯ã®èª­ã¿å–りたたは曞き蟌み、ネットワヌク通信。">I/O</abbr> ã‚’行うコヌドを䜿っおいない限り、`async def` ã‚’䜿った方が良いです。
 
-それでも、どちらの状況でも、**FastAPI** ã¯ã‚なたが以前䜿っおいたフレヌムワヌクよりも (少なくずも同等に) [高速である](index.md#performance){.internal-link target=_blank} å¯èƒœæ€§ãŒé«˜ã„です。
+それでも、どちらの状況でも、**FastAPI** ã¯ã‚なたが以前䜿っおいたフレヌムワヌクよりも (少なくずも同等に) [高速である](index.md#performance) å¯èƒœæ€§ãŒé«˜ã„です。
 
 ### äŸå­˜é–¢ä¿‚ { #dependencies }
 
-[䟝存関係](tutorial/dependencies/index.md){.internal-link target=_blank} ã«ã€ã„おも同様です。䟝存関係が `async def` ã§ã¯ãªãæš™æº–の `def` é–¢æ•°ã§ã‚る堎合、倖郚のスレッドプヌルで実行されたす。
+[䟝存関係](tutorial/dependencies/index.md) ã«ã€ã„おも同様です。䟝存関係が `async def` ã§ã¯ãªãæš™æº–の `def` é–¢æ•°ã§ã‚る堎合、倖郚のスレッドプヌルで実行されたす。
 
 ### ã‚µãƒ–䟝存関係 { #sub-dependencies }
 
-耇数の䟝存関係や [サブ䟝存関係](tutorial/dependencies/sub-dependencies.md){.internal-link target=_blank} ã‚’ (関数定矩のパラメヌタずしお) ç›žäº’に芁求させられたす。その䞀郚は `async def`、他は通垞の `def` ã§äœœã‚‰ã‚ŒãŠã„おも動䜜したす。通垞の `def` ã§äœœã‚‰ã‚ŒãŸã‚‚のは「await」される代わりに、倖郚スレッドプヌルからスレッド䞊で呌び出されたす。
+耇数の䟝存関係や [サブ䟝存関係](tutorial/dependencies/sub-dependencies.md) ã‚’ (関数定矩のパラメヌタずしお) ç›žäº’に芁求させられたす。その䞀郚は `async def`、他は通垞の `def` ã§äœœã‚‰ã‚ŒãŠã„おも動䜜したす。通垞の `def` ã§äœœã‚‰ã‚ŒãŸã‚‚のは「await」される代わりに、倖郚スレッドプヌルからスレッド䞊で呌び出されたす。
 
 ### ãã®ä»–のナヌティリティ関数 { #other-utility-functions }
 
index fbfba2e637a50b4fd8958ed82e09b9472692e8aa..b6ed4d6d297809887f4df5664af9b6287558971e 100644 (file)
@@ -1,6 +1,6 @@
 # ãƒ™ãƒ³ãƒãƒžãƒŒã‚¯ { #benchmarks }
 
-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">利甚可胜な最速のPythonフレヌムワヌクの1぀</a>であり、䞋回っおいるのはStarletteずUvicorn自䜓FastAPIによっお内郚で䜿甚されるのみだず瀺されおいたす。
+TechEmpowerの独立したベンチマヌクでは、Uvicornの䞋で動䜜する**FastAPI**アプリケヌションは、[利甚可胜な最速のPythonフレヌムワヌクの1぀](https://www.techempower.com/benchmarks/#section=test&runid=7464e520-0dc2-473d-bd34-dbdfd7e85911&hw=ph&test=query&l=zijzen-7)であり、䞋回っおいるのはStarletteずUvicorn自䜓FastAPIによっお内郚で䜿甚されるのみだず瀺されおいたす。
 
 ãŸã ã—、ベンチマヌクを確認し、比范する際には䞋蚘の内容に気を付けおください。
 
index 17699cdca680efdb5c28ec09d415e8fda24afb4b..8357464fbfe9c42bc4062b487a668392d1083071 100644 (file)
@@ -6,7 +6,7 @@ FastAPI ã‚¢ãƒ—リケヌションは、実質的にどのようなクラりドプ
 
 ## FastAPI Cloud { #fastapi-cloud }
 
-**<a href="https://fastapicloud.com" class="external-link" target="_blank">FastAPI Cloud</a>** ã¯ã€**FastAPI** ã®äœœè€…ず同じチヌムによっお䜜られおいたす。
+**[FastAPI Cloud](https://fastapicloud.com)** ã¯ã€**FastAPI** ã®äœœè€…ず同じチヌムによっお䜜られおいたす。
 
 API ã®**構築**、**デプロむ**、**アクセス**たでのプロセスを、最小限の手間で効率化したす。
 
@@ -16,9 +16,9 @@ FastAPI Cloud ã¯ã€*FastAPI and friends* ã‚ªãƒŒãƒ—ン゜ヌスプロゞェク
 
 ## ã‚¯ãƒ©ã‚Šãƒ‰ãƒ—ロバむダ - ã‚¹ãƒãƒ³ã‚µãƒŒ { #cloud-providers-sponsors }
 
-他にもいく぀かのクラりドプロバむダが âœš [**FastAPI ã‚’スポンサヌしおいたす**](../help-fastapi.md#sponsor-the-author){.internal-link target=_blank} âœšã€‚🙇
+他にもいく぀かのクラりドプロバむダが âœš [**FastAPI ã‚’スポンサヌしおいたす**](../help-fastapi.md#sponsor-the-author) âœšã€‚🙇
 
 ãã‚Œã‚‰ã®ã‚¬ã‚€ãƒ‰ã‚’参考にし、サヌビスを詊しおみるのもよいでしょう:
 
-* <a href="https://docs.render.com/deploy-fastapi?utm_source=deploydoc&utm_medium=referral&utm_campaign=fastapi" class="external-link" target="_blank">Render</a>
-* <a href="https://docs.railway.com/guides/fastapi?utm_medium=integration&utm_source=docs&utm_campaign=fastapi" class="external-link" target="_blank">Railway</a>
+* [Render](https://docs.render.com/deploy-fastapi?utm_source=deploydoc&utm_medium=referral&utm_campaign=fastapi)
+* [Railway](https://docs.railway.com/guides/fastapi?utm_medium=integration&utm_source=docs&utm_campaign=fastapi)
index 501a90bc93d5fedd5c9d425e5f43fff819933827..9a23e8e914e125b9c57f0661661b9f07e04a68fc 100644 (file)
@@ -29,7 +29,7 @@
 
 ## ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ - HTTPS { #security-https }
 
-[前チャプタヌのHTTPSに぀いお](https.md){.internal-link target=_blank}では、HTTPSがどのようにAPIを暗号化するのかに぀いお孊びたした。
+[前チャプタヌのHTTPSに぀いお](https.md)では、HTTPSがどのようにAPIを暗号化するのかに぀いお孊びたした。
 
 é€šåžžã€ã‚¢ãƒ—リケヌションサヌバにずっお**倖郚の**コンポヌネントである**TLS Termination Proxy**によっお提䟛されるこずが䞀般的です。このプロキシは通信の暗号化を担圓したす。
 
@@ -43,9 +43,9 @@ TLS Termination Proxyずしお䜿甚できるツヌルには以䞋のような
 * Caddy
     * èšŒæ˜Žæ›žã®æ›Žæ–°ã‚’自動的に凊理 âœš
 * Nginx
-    * èšŒæ˜Žæ›žæ›Žæ–°ã®ãŸã‚ã«Certbotのような倖郚コンポヌネントを䜿甚
+    * èšŒæ˜Žæ›žæ›Žæ–°ã®ãŸã‚ã« Certbot ã®ã‚ˆã†ãªå€–郚コンポヌネントを䜿甚
 * HAProxy
-    * èšŒæ˜Žæ›žæ›Žæ–°ã®ãŸã‚ã«Certbotのような倖郚コンポヌネントを䜿甚
+    * èšŒæ˜Žæ›žæ›Žæ–°ã®ãŸã‚ã« Certbot ã®ã‚ˆã†ãªå€–郚コンポヌネントを䜿甚
 * Nginx ã®ã‚ˆã†ãª Ingress Controller ã‚’持぀ Kubernetes
     * èšŒæ˜Žæ›žã®æ›Žæ–°ã« cert-manager ã®ã‚ˆã†ãªå€–郚コンポヌネントを䜿甚
 * ã‚¯ãƒ©ã‚Šãƒ‰ãƒ»ãƒ—ロバむダヌがサヌビスの䞀郚ずしお内郚的に凊理䞋蚘を参照👇
@@ -193,7 +193,7 @@ FastAPI ã‚¢ãƒ—リケヌションでは、Uvicorn ã‚’実行する `fastapi` ã‚³
 
 ### ãƒ¯ãƒŒã‚«ãƒŒãƒ»ãƒ—ロセス ãš ãƒãƒŒãƒˆ { #worker-processes-and-ports }
 
-[HTTPSに぀いお](https.md){.internal-link target=_blank}のドキュメントで、1぀のサヌバヌで1぀のポヌトずIPアドレスの組み合わせでリッスンできるのは1぀のプロセスだけであるこずを芚えおいたすでしょうか
+[HTTPSに぀いお](https.md)のドキュメントで、1぀のサヌバヌで1぀のポヌトずIPアドレスの組み合わせでリッスンできるのは1぀のプロセスだけであるこずを芚えおいたすでしょうか
 
 ã“れはいただに同じです。
 
@@ -250,7 +250,7 @@ FastAPI ã‚¢ãƒ—リケヌションでは、Uvicorn ã‚’実行する `fastapi` ã‚³
 
 ã“れらの**コンテナ**やDockerそしおKubernetesに関する項目が、ただあたり意味をなしおいなくおも心配しないでください。
 
-コンテナ・むメヌゞ、Docker、Kubernetesなどに぀いおは、将来の章で詳しく説明したす: [コンテナ内のFastAPI - Docker](docker.md){.internal-link target=_blank}.
+コンテナ・むメヌゞ、Docker、Kubernetesなどに぀いおは、将来の章で詳しく説明したす: [コンテナ内のFastAPI - Docker](docker.md).
 
 ///
 
@@ -290,7 +290,7 @@ FastAPI ã‚¢ãƒ—リケヌションでは、Uvicorn ã‚’実行する `fastapi` ã‚³
 
 /// tip | è±†çŸ¥è­˜
 
-コンテナを䜿った具䜓的な䟋に぀いおは、将来の章で玹介したす: [コンテナ内のFastAPI - Docker](docker.md){.internal-link target=_blank}.
+コンテナを䜿った具䜓的な䟋に぀いおは、将来の章で玹介したす: [コンテナ内のFastAPI - Docker](docker.md).
 
 ///
 
index 883f98c985db77bef2b9f7c4eb0d0678428bcf76..6248e69b7c019bb3a39bd99eb6519f8c23a1eed5 100644 (file)
@@ -1,6 +1,6 @@
 # ã‚³ãƒ³ãƒ†ãƒŠå†…のFastAPI - Docker { #fastapi-in-containers-docker }
 
-FastAPIアプリケヌションをデプロむする堎合、䞀般的なアプロヌチは**Linuxコンテナ・むメヌゞ**をビルドするこずです。基本的には <a href="https://www.docker.com/" class="external-link" target="_blank">**Docker**</a>を甚いお行われたす。生成されたコンテナ・むメヌゞは、いく぀かの方法のいずれかでデプロむできたす。
+FastAPIアプリケヌションをデプロむする堎合、䞀般的なアプロヌチは**Linuxコンテナ・むメヌゞ**をビルドするこずです。基本的には [**Docker**](https://www.docker.com/) ã‚’甚いお行われたす。生成されたコンテナ・むメヌゞは、いく぀かの方法のいずれかでデプロむできたす。
 
 Linuxコンテナの䜿甚には、**セキュリティ**、**反埩可胜性レプリカビリティ**、**シンプリシティ**など、いく぀かの利点がありたす。
 
@@ -60,16 +60,16 @@ Linuxコンテナは、ホストマシン、仮想マシン、クラりドサ
 
 Dockerは、**コンテナ・むメヌゞ**ず**コンテナ**を䜜成・管理するための䞻芁なツヌルの1぀です。
 
-そしお、倚くのツヌルや環境、デヌタベヌス、アプリケヌションに察応しおいる予め䜜成された**公匏のコンテナ・むメヌゞ**をパブリックに提䟛しおいる<a href="https://hub.docker.com/" class="external-link" target="_blank">Docker Hub</a>ずいうものがありたす。
+そしお、倚くのツヌルや環境、デヌタベヌス、アプリケヌションに察応しおいる予め䜜成された**公匏のコンテナ・むメヌゞ**をパブリックに提䟛しおいる [Docker Hub](https://hub.docker.com/) ãšã„うものがありたす。
 
-䟋えば、公匏むメヌゞの1぀に<a href="https://hub.docker.com/_/python" class="external-link" target="_blank">Python Image</a>がありたす。
+䟋えば、公匏むメヌゞの1぀に [Python Image](https://hub.docker.com/_/python) ãŒã‚りたす。
 
 ãã®ä»–にも、デヌタベヌスなどさたざたなむメヌゞがありたす
 
-* <a href="https://hub.docker.com/_/postgres" class="external-link" target="_blank">PostgreSQL</a>
-* <a href="https://hub.docker.com/_/mysql" class="external-link" target="_blank">MySQL</a>
-* <a href="https://hub.docker.com/_/mongo" class="external-link" target="_blank">MongoDB</a>
-* <a href="https://hub.docker.com/_/redis" class="external-link" target="_blank">Redis</a>, etc.
+* [PostgreSQL](https://hub.docker.com/_/postgres)
+* [MySQL](https://hub.docker.com/_/mysql)
+* [MongoDB](https://hub.docker.com/_/mongo)
+* [Redis](https://hub.docker.com/_/redis), etc.
 
 äºˆã‚äœœæˆã•れたコンテナ・むメヌゞを䜿甚するこずで、異なるツヌルを**組み合わせお**䜿甚するこずが非垞に簡単になりたす。䟋えば、新しいデヌタベヌスを詊す堎合に特に䟿利です。ほずんどの堎合、**公匏むメヌゞ**を䜿い、環境倉数で蚭定するだけで良いです。
 
@@ -111,7 +111,7 @@ FastAPI甚の**Dockerむメヌゞ**を、**公匏Python**むメヌゞに基づ
 
 æœ€ã‚‚䞀般的な方法は、`requirements.txt` ãƒ•ァむルにパッケヌゞ名ずそのバヌゞョンを 1 è¡Œãšã€æ›žãã“ずです。
 
-もちろん、[FastAPI ãƒãƒŒã‚žãƒ§ãƒ³ã«ã€ã„お](versions.md){.internal-link target=_blank}で読んだのず同じアむデアを䜿甚しお、バヌゞョンの範囲を蚭定したす。
+もちろん、[FastAPI ãƒãƒŒã‚žãƒ§ãƒ³ã«ã€ã„お](versions.md)で読んだのず同じアむデアを䜿甚しお、バヌゞョンの範囲を蚭定したす。
 
 äŸ‹ãˆã°ã€`requirements.txt` ã¯æ¬¡ã®ã‚ˆã†ã«ãªã‚ŠãŸã™ïŒš
 
@@ -238,7 +238,7 @@ CMD ["fastapi", "run", "app/main.py", "--port", "80"]
 
 #### `CMD` ã‚’䜿う - Exec圢匏 { #use-cmd-exec-form }
 
-Docker呜什 <a href="https://docs.docker.com/reference/dockerfile/#cmd" class="external-link" target="_blank">`CMD`</a> ã¯2぀の圢匏で曞けたす
+Docker呜什 [`CMD`](https://docs.docker.com/reference/dockerfile/#cmd) ã¯2぀の圢匏で曞けたす
 
 âœ… **Exec** åœ¢åŒïŒš
 
@@ -254,11 +254,11 @@ CMD ["fastapi", "run", "app/main.py", "--port", "80"]
 CMD fastapi run app/main.py --port 80
 ```
 
-FastAPIが正垞にシャットダりンでき、[lifespan events](../advanced/events.md){.internal-link target=_blank}がトリガヌされるように、垞に **exec** åœ¢åŒã‚’䜿甚しおください。
+FastAPIが正垞にシャットダりンでき、[lifespan events](../advanced/events.md)がトリガヌされるように、垞に **exec** åœ¢åŒã‚’䜿甚しおください。
 
-詳しくは、<a href="https://docs.docker.com/reference/dockerfile/#shell-and-exec-form" class="external-link" target="_blank">shell圢匏ずexec圢匏に関するDockerドキュメント</a>をご芧ください。
+詳しくは、[shell圢匏ずexec圢匏に関するDockerドキュメント](https://docs.docker.com/reference/dockerfile/#shell-and-exec-form)をご芧ください。
 
-これは `docker compose` ã‚’䜿甚する堎合にかなり目立぀こずがありたす。より技術的な詳现は、このDocker ComposeのFAQセクションをご芧ください<a href="https://docs.docker.com/compose/faq/#why-do-my-services-take-10-seconds-to-recreate-or-stop" class="external-link" target="_blank">Why do my services take 10 seconds to recreate or stop?</a>。
+これは `docker compose` ã‚’䜿甚する堎合にかなり目立぀こずがありたす。より技術的な詳现は、このDocker ComposeのFAQセクションをご芧ください[Why do my services take 10 seconds to recreate or stop?](https://docs.docker.com/compose/faq/#why-do-my-services-take-10-seconds-to-recreate-or-stop)。
 
 #### ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ§‹é€  { #directory-structure }
 
@@ -354,7 +354,7 @@ $ docker run -d --name mycontainer -p 80:80 myimage
 
 ## ç¢ºèªã™ã‚‹ { #check-it }
 
-Dockerコンテナの<a href="http://192.168.99.100/items/5?q=somequery" class="external-link" target="_blank">http://192.168.99.100/items/5?q=somequery</a> ã‚„ <a href="http://127.0.0.1/items/5?q=somequery" class="external-link" target="_blank">http://127.0.0.1/items/5?q=somequery</a> (たたはそれに盞圓するDockerホストを䜿甚したものずいったURLで確認できるはずです。
+Dockerコンテナの[http://192.168.99.100/items/5?q=somequery](http://192.168.99.100/items/5?q=somequery) ã‚„ [http://127.0.0.1/items/5?q=somequery](http://127.0.0.1/items/5?q=somequery) (たたはそれに盞圓するDockerホストを䜿甚したものずいったURLで確認できるはずです。
 
 ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšä»¥äž‹ã®ã‚ˆã†ãªã‚‚のが衚瀺されたす
 
@@ -364,17 +364,17 @@ Dockerコンテナの<a href="http://192.168.99.100/items/5?q=somequery" class="
 
 ## ã‚€ãƒ³ã‚¿ãƒ©ã‚¯ãƒ†ã‚£ãƒ–なAPIドキュメント { #interactive-api-docs }
 
-これらのURLにもアクセスできたす:  <a href="http://192.168.99.100/docs" class="external-link" target="_blank">http://192.168.99.100/docs</a> ã‚„ <a href="http://127.0.0.1/docs" class="external-link" target="_blank">http://127.0.0.1/docs</a> (たたはそれに盞圓するDockerホストを䜿甚したもの
+これらのURLにもアクセスできたす:  [http://192.168.99.100/docs](http://192.168.99.100/docs) ã‚„ [http://127.0.0.1/docs](http://127.0.0.1/docs) (たたはそれに盞圓するDockerホストを䜿甚したもの
 
-アクセスするず、自動察話型APIドキュメント<a href="https://github.com/swagger-api/swagger-ui" class="external-link" target="_blank">Swagger UI</a>が提䟛が衚瀺されたす
+アクセスするず、自動察話型APIドキュメント[Swagger UI](https://github.com/swagger-api/swagger-ui)が提䟛が衚瀺されたす
 
 ![Swagger UI](https://fastapi.tiangolo.com/img/index/index-01-swagger-ui-simple.png)
 
 ## ä»£æ›¿ã®APIドキュメント { #alternative-api-docs }
 
-たた、<a href="http://192.168.99.100/redoc" class="external-link" target="_blank">http://192.168.99.100/redoc</a> ã‚„ <a href="http://127.0.0.1/redoc" class="external-link" target="_blank">http://127.0.0.1/redoc</a> (たたはそれに盞圓するDockerホストを䜿甚したものにもアクセスできたす。
+たた、[http://192.168.99.100/redoc](http://192.168.99.100/redoc) ã‚„ [http://127.0.0.1/redoc](http://127.0.0.1/redoc) (たたはそれに盞圓するDockerホストを䜿甚したものにもアクセスできたす。
 
-代替の自動ドキュメント<a href="https://github.com/Rebilly/ReDoc" class="external-link" target="_blank">ReDoc</a>によっお提䟛されるが衚瀺されたす
+代替の自動ドキュメント[ReDoc](https://github.com/Rebilly/ReDoc)によっお提䟛されるが衚瀺されたす
 
 ![ReDoc](https://fastapi.tiangolo.com/img/index/index-02-redoc-simple.png)
 
@@ -415,7 +415,7 @@ CMD ["fastapi", "run", "main.py", "--port", "80"]
 
 ## ãƒ‡ãƒ—ロむメントのコンセプト { #deployment-concepts }
 
-コンテナずいう芳点から、[デプロむのコンセプト](concepts.md){.internal-link target=_blank}に共通するいく぀かに぀いお、もう䞀床説明したしょう。
+コンテナずいう芳点から、[デプロむのコンセプト](concepts.md)に共通するいく぀かに぀いお、もう䞀床説明したしょう。
 
 ã‚³ãƒ³ãƒ†ãƒŠã¯äž»ã«ã€ã‚¢ãƒ—リケヌションの**ビルドずデプロむ**のプロセスを簡玠化するためのツヌルですが、これらの**デプロむのコンセプト**を扱うための特定のアプロヌチを匷制するものではなく、いく぀かの戊略がありたす。
 
@@ -434,7 +434,7 @@ CMD ["fastapi", "run", "main.py", "--port", "80"]
 
 FastAPI ã‚¢ãƒ—リケヌションの **コンテナ・むメヌゞ**および埌で実行䞭の **コンテナ**だけに焊点を圓おるず、通垞、HTTPSは別のツヌルを甚いお**倖郚で**凊理されたす。
 
-䟋えば<a href="https://traefik.io/" class="external-link" target="_blank">Traefik</a>のように、**HTTPS**ず**蚌明曞**の**自動**取埗を扱う別のコンテナである可胜性もありたす。
+䟋えば [Traefik](https://traefik.io/) ã®ã‚ˆã†ã«ã€**HTTPS**ず**蚌明曞**の**自動**取埗を扱う別のコンテナである可胜性もありたす。
 
 /// tip | è±†çŸ¥è­˜
 
@@ -564,7 +564,7 @@ Docker Composeで**単䞀サヌバ**クラスタではないにデプロ
 
 /// info | æƒ…å ±
 
-もしKubernetesを䜿甚しおいる堎合, ã“れはおそらく<a href="https://kubernetes.io/docs/concepts/workloads/pods/init-containers/" class="external-link" target="_blank">Init Container</a>でしょう。
+もしKubernetesを䜿甚しおいる堎合, ã“れはおそらく[Init Container](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/)でしょう。
 
 ///
 
@@ -576,7 +576,7 @@ Docker Composeで**単䞀サヌバ**クラスタではないにデプロ
 
 ### ãƒ™ãƒŒã‚¹Dockerむメヌゞ { #base-docker-image }
 
-以前は、公匏のFastAPI Dockerむメヌゞがありたした<a href="https://github.com/tiangolo/uvicorn-gunicorn-fastapi-docker" class="external-link" target="_blank">tiangolo/uvicorn-gunicorn-fastapi</a>。しかし、珟圚は非掚奚です。⛔
+以前は、公匏のFastAPI Dockerむメヌゞがありたした[tiangolo/uvicorn-gunicorn-fastapi](https://github.com/tiangolo/uvicorn-gunicorn-fastapi-docker)。しかし、珟圚は非掚奚です。⛔
 
 ãŠãã‚‰ãã€ã“のベヌスDockerむメヌゞたたはその他の類䌌のものは**䜿甚しない**方がよいでしょう。
 
@@ -606,7 +606,7 @@ Docker Composeで**単䞀サヌバ**クラスタではないにデプロ
 
 ## `uv` ã‚’䜿ったDockerむメヌゞ { #docker-image-with-uv }
 
-<a href="https://github.com/astral-sh/uv" class="external-link" target="_blank">uv</a> ã‚’䜿っおプロゞェクトのむンストヌルず管理をしおいる堎合は、<a href="https://docs.astral.sh/uv/guides/integration/docker/" class="external-link" target="_blank">uv Docker guide</a>に埓っおください。
+[uv](https://github.com/astral-sh/uv) ã‚’䜿っおプロゞェクトのむンストヌルず管理をしおいる堎合は、[uv Docker guide](https://docs.astral.sh/uv/guides/integration/docker/)に埓っおください。
 
 ## ãŸãšã‚ { #recap }
 
index 43d9ce0d02766d58345944a5264b15a53eb860aa..3dd5685a2b1f797f661c2ff1c0315825fb15e007 100644 (file)
@@ -1,6 +1,6 @@
 # FastAPI Cloud { #fastapi-cloud }
 
-<a href="https://fastapicloud.com" class="external-link" target="_blank">FastAPI Cloud</a> ã« **コマンド1぀** ã§ãƒ‡ãƒ—ロむできたす。ただならりェむティングリストにご登録ください。🚀
+[FastAPI Cloud](https://fastapicloud.com) ã« **コマンド1぀** ã§ãƒ‡ãƒ—ロむできたす。ただならりェむティングリストにご登録ください。🚀
 
 ## ãƒ­ã‚°ã‚€ãƒ³ { #login }
 
@@ -40,7 +40,7 @@ Deploying to FastAPI Cloud...
 
 ## FastAPI Cloud ã«ã€ã„お { #about-fastapi-cloud }
 
-**<a href="https://fastapicloud.com" class="external-link" target="_blank">FastAPI Cloud</a>** ã¯ã€**FastAPI** ã®äœœè€…ずチヌムによっお開発されおいたす。
+**[FastAPI Cloud](https://fastapicloud.com)** ã¯ã€**FastAPI** ã®äœœè€…ずチヌムによっお開発されおいたす。
 
 æœ€å°é™ã®æ‰‹é–“で API ã‚’**構築**・**デプロむ**・**利甚**できるように工皋を簡玠化したす。
 
index 8e588aadc39adf2fd2edd951c10dbd31dfcbaa69..37ad7072c8b3139a760c783b7f60ee75b579c940 100644 (file)
@@ -10,7 +10,7 @@ HTTPSは単に「有効」か「無効」かで決たるものだず思いがち
 
 ///
 
-利甚者の芖点から **HTTPS ã®åŸºæœ¬ã‚’孊ぶ**に圓たっおは、次のリ゜ヌスをオススメしたす: <a href="https://howhttps.works/" class="external-link" target="_blank">https://howhttps.works/</a>.
+利甚者の芖点から **HTTPS ã®åŸºæœ¬ã‚’孊ぶ**に圓たっおは、次のリ゜ヌスをオススメしたす: [https://howhttps.works/](https://howhttps.works/).
 
 ã•お、**開発者の芖点**から、HTTPSに぀いお考える際に念頭に眮くべきこずをいく぀かみおいきたしょう
 
@@ -28,13 +28,13 @@ HTTPSは単に「有効」か「無効」かで決たるものだず思いがち
 * **デフォルトでは**、**IPアドレスごずに1぀のHTTPS蚌明曞**しか持おないこずになりたす。
     * ã“れは、サヌバヌの芏暡やアプリケヌションの芏暡に寄りたせん。
     * ã—かし、これには**解決策**がありたす。
-* **TLS**プロトコル(HTTPの前に、TCPレベルで暗号化を凊理するもの)には、**<a href="https://en.wikipedia.org/wiki/Server_Name_Indication" class="external-link" target="_blank"><abbr title="Server Name Indication - ã‚µãƒŒãƒãƒŒåè¡šç€º">SNI</abbr></a>**ず呌ばれる**拡匵**がありたす。
+* **TLS**プロトコル(HTTPの前に、TCPレベルで暗号化を凊理するもの)には、**[<abbr title="Server Name Indication - ã‚µãƒŒãƒãƒŒåè¡šç€º">SNI</abbr>](https://en.wikipedia.org/wiki/Server_Name_Indication)**ず呌ばれる**拡匵**がありたす。
     * ã“のSNI拡匵機胜により、1぀のサヌバヌ**単䞀のIPアドレス**を持぀が**耇数のHTTPS蚌明曞**を持ち、**耇数のHTTPSドメむン/アプリケヌション**にサヌビスを提䟛できるようになりたす。
     * ã“れが機胜するためには、**パブリックIPアドレス**でリッスンしおいる、サヌバヌ䞊で動䜜しおいる**単䞀の**コンポヌネント(プログラム)が、サヌバヌ内の**すべおのHTTPS蚌明曞**を持っおいる必芁がありたす。
 * ã‚»ã‚­ãƒ¥ã‚¢ãªæŽ¥ç¶šã‚’取埗した**埌**でも、通信プロトコルは**HTTPのたた**です。
     * ã‚³ãƒ³ãƒ†ãƒ³ãƒ„は**HTTPプロトコル**で送信されおいるにもかかわらず、**暗号化**されおいたす。
 
-サヌバヌマシン、ホストなど䞊で**1぀のプログラム/HTTPサヌバヌ**を実行させ、**HTTPSに関する党おのこず**を管理するのが䞀般的です。**暗号化された HTTPS ãƒªã‚¯ã‚šã‚¹ãƒˆ** ã‚’受信し、**埩号化された HTTP ãƒªã‚¯ã‚šã‚¹ãƒˆ** ã‚’同じサヌバヌで実行されおいる実際の HTTP ã‚¢ãƒ—リケヌションこの堎合は **FastAPI** ã‚¢ãƒ—リケヌションに送信し、アプリケヌションから **HTTP ãƒ¬ã‚¹ãƒãƒ³ã‚¹** ã‚’受け取り、適切な **HTTPS èšŒæ˜Žæ›ž** ã‚’䜿甚しお **暗号化** ã—、そしお**HTTPS** ã‚’䜿甚しおクラむアントに送り返したす。このサヌバヌはしばしば **<a href="https://en.wikipedia.org/wiki/TLS_termination_proxy" class="external-link" target="_blank">TLS Termination Proxy</a>**ず呌ばれたす。
+サヌバヌマシン、ホストなど䞊で**1぀のプログラム/HTTPサヌバヌ**を実行させ、**HTTPSに関する党おのこず**を管理するのが䞀般的です。**暗号化された HTTPS ãƒªã‚¯ã‚šã‚¹ãƒˆ** ã‚’受信し、**埩号化された HTTP ãƒªã‚¯ã‚šã‚¹ãƒˆ** ã‚’同じサヌバヌで実行されおいる実際の HTTP ã‚¢ãƒ—リケヌションこの堎合は **FastAPI** ã‚¢ãƒ—リケヌションに送信し、アプリケヌションから **HTTP ãƒ¬ã‚¹ãƒãƒ³ã‚¹** ã‚’受け取り、適切な **HTTPS èšŒæ˜Žæ›ž** ã‚’䜿甚しお **暗号化** ã—、そしお**HTTPS** ã‚’䜿甚しおクラむアントに送り返したす。このサヌバヌはしばしば **[TLS Termination Proxy](https://en.wikipedia.org/wiki/TLS_termination_proxy)**ず呌ばれたす。
 
 TLS Termination Proxyずしお䜿えるオプションには、以䞋のようなものがありたす
 
@@ -50,7 +50,7 @@ Let's Encrypt以前は、これらの**HTTPS蚌明曞**は信頌できる第䞉
 
 ã“れらの蚌明曞を取埗するための手続きは面倒で、かなりの曞類を必芁ずし、蚌明曞はかなり高䟡なものでした。
 
-しかしその埌、**<a href="https://letsencrypt.org/" class="external-link" target="_blank">Let's Encrypt</a>** ãŒäœœã‚‰ã‚ŒãŸã—た。
+しかしその埌、**[Let's Encrypt](https://letsencrypt.org/)** ãŒäœœã‚‰ã‚ŒãŸã—た。
 
 ã“れはLinux Foundationのプロゞェクトから生たれたものです。 è‡ªå‹•化された方法で、**HTTPS蚌明曞を無料で**提䟛したす。これらの蚌明曞は、すべおの暙準的な暗号化セキュリティを䜿甚し、たた短呜玄3ヶ月ですが、こういった寿呜の短さによっお、**セキュリティは実際に優れおいたす**。
 
@@ -68,7 +68,7 @@ Let's Encrypt以前は、これらの**HTTPS蚌明曞**は信頌できる第䞉
 
 ãŠãã‚‰ãã‚¯ãƒ©ã‚Šãƒ‰ã‚µãƒŒãƒãƒŒïŒˆä»®æƒ³ãƒžã‚·ãƒ³ïŒ‰ã‹ãã‚Œã«é¡žã™ã‚‹ã‚‚のを手に入れ、<dfn title="時間ずずもに倉化しない。動的ではない。">固定の</dfn> **パブリックIPアドレス**を持぀こずになるでしょう。
 
-DNSã\82µã\83΋\83\90ã\83΋\81§ã\81¯ã\80\81**Ã¥\8f\96åŸ\97ã\81\97ã\81\9fã\83\89ã\83¡ã\82ۋ\83³**ã\82\92ã\81\82ã\81ªã\81\9fã\81®ã\82µã\83΋\83\90ã\83΋\81®ã\83\91ã\83\97リック**IPアドレス**に向けるレコヌド「`A record`」を蚭定したす。
+DNSã\82µã\83΋\83\90ã\83΋\81§ã\81¯ã\80\81**Ã¥\8f\96åŸ\97ã\81\97ã\81\9fã\83\89ã\83¡ã\82ۋ\83³**ã\82\92ã\81\82ã\81ªã\81\9fã\81®ã\82µã\83΋\83\90ã\83΋\81®ã\83\91ã\83\96リック**IPアドレス**に向けるレコヌド「`A record`」を蚭定したす。
 
 ã“れはおそらく、最初の1回だけあり、すべおをセットアップするずきに行うでしょう。
 
@@ -80,7 +80,7 @@ DNSサヌバヌでは、**取埗したドメむン**をあなたのサヌバヌ
 
 ### DNS { #dns }
 
-ã\81§ã\81¯ã\80\81å®\9fé\9a\9bã\81®HTTPSã\81®é\83šå\88\86ã\81«Ê³šç\9b®ã\81\97ã\81Šã\81¿ã\82\88う。
+ã\81§ã\81¯ã\80\81å®\9fé\9a\9bã\81®HTTPSã\81®é\83šå\88\86ã\81«Ê³šç\9b®ã\81\97ã\81Šã\81¿ã\81Ÿã\81\97ã\82\87う。
 
 ãŸãšã€ãƒ–ラりザは**DNSサヌバヌ**に**ドメむンに察するIP**が䜕であるかを確認したす。今回は、`someapp.example.com`ずしたす。
 
@@ -100,7 +100,7 @@ TLS接続を確立するためのクラむアントずサヌバヌ間のこの
 
 ### SNI拡匵機胜付きのTLS { #tls-with-sni-extension }
 
-サヌバヌ内の**1぀のプロセス**だけが、特定 ã®**IPアドレス**の特定の**ポヌト** ã§åŸ…ち受けるこずができたす。
+サヌバヌ内の**1぀のプロセス**だけが、特定の**IPアドレス**の特定の**ポヌト**で埅ち受けるこずができたす。
 
 åŒã˜IPアドレスの他のポヌトで他のプロセスがリッスンしおいる可胜性もありたすが、IPアドレスずポヌトの組み合わせごずに1぀だけです。
 
@@ -204,9 +204,9 @@ TLS Termination Proxyは次に、事前に合意が取れおいる暗号(`someap
 
 ãƒ—ロキシヘッダヌは次のずおりです
 
-* <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Forwarded-For" class="external-link" target="_blank">X-Forwarded-For</a>
-* <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Forwarded-Proto" class="external-link" target="_blank">X-Forwarded-Proto</a>
-* <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Forwarded-Host" class="external-link" target="_blank">X-Forwarded-Host</a>
+* [X-Forwarded-For](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Forwarded-For)
+* [X-Forwarded-Proto](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Forwarded-Proto)
+* [X-Forwarded-Host](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Forwarded-Host)
 
 ///
 
@@ -222,7 +222,7 @@ TLS Termination Proxyは次に、事前に合意が取れおいる暗号(`someap
 
 /// tip | è±†çŸ¥è­˜
 
-これに぀いおは、[Behind a Proxy - Enable Proxy Forwarded Headers](../advanced/behind-a-proxy.md#enable-proxy-forwarded-headers){.internal-link target=_blank} ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã§è©³ã—く孊べたす。
+これに぀いおは、[Behind a Proxy - Enable Proxy Forwarded Headers](../advanced/behind-a-proxy.md#enable-proxy-forwarded-headers) ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã§è©³ã—く孊べたす。
 
 ///
 
index eba6eae6eacbec00a9740ab0b6ca31e353913221..9a3e1068e604f3d0aa2efb8b45e4f4af3d852a07 100644 (file)
@@ -16,7 +16,7 @@
 
 è€‡æ•°ã®ãƒ„ヌルを組み合わせお自分で**サヌバヌをデプロむ**するこずもできたすし、䜜業の䞀郚を代行しおくれる **クラりドサヌビス** ã‚’䜿うこずもできたす。ほかにも遞択肢がありたす。
 
-たずえば、FastAPI ã®é–‹ç™ºãƒãƒŒãƒ ã§ã‚る私たちは、クラりドぞの FastAPI ã‚¢ãƒ—リのデプロむを可胜な限り合理化し、FastAPI ã‚’䜿っお開発するのず同じ開発者䜓隓を提䟛するために、<a href="https://fastapicloud.com" class="external-link" target="_blank">**FastAPI Cloud**</a> ã‚’構築したした。
+たずえば、FastAPI ã®é–‹ç™ºãƒãƒŒãƒ ã§ã‚る私たちは、クラりドぞの FastAPI ã‚¢ãƒ—リのデプロむを可胜な限り合理化し、FastAPI ã‚’䜿っお開発するのず同じ開発者䜓隓を提䟛するために、[**FastAPI Cloud**](https://fastapicloud.com) ã‚’構築したした。
 
 **FastAPI** ã‚¢ãƒ—リケヌションをデプロむする際に、おそらく念頭に眮くべき䞻芁な抂念をいく぀か玹介したすただし、そのほずんどは他の皮類の Web ã‚¢ãƒ—リケヌションにも圓おはたりたす。
 
index 1931cd87e556e3cfa75e1387bf681b2e8c0fbafa..1c0d59a715ec69949a8b370b9af00f45a1a3b46f 100644 (file)
@@ -52,11 +52,11 @@ FastAPI ã¯ã€Python ã® Web ãƒ•レヌムワヌクずサヌバヌのための暙
 
 ä»–にもいく぀かの遞択肢がありたす:
 
-* <a href="https://www.uvicorn.dev/" class="external-link" target="_blank">Uvicorn</a>: é«˜æ€§èƒœãª ASGI ã‚µãƒŒãƒãƒŒã€‚
-* <a href="https://hypercorn.readthedocs.io/" class="external-link" target="_blank">Hypercorn</a>: HTTP/2 ã‚„ Trio ã«å¯Ÿå¿œã™ã‚‹ ASGI ã‚µãƒŒãƒãƒŒãªã©ã€‚
-* <a href="https://github.com/django/daphne" class="external-link" target="_blank">Daphne</a>: Django Channels ã®ãŸã‚ã«äœœã‚‰ã‚ŒãŸ ASGI ã‚µãƒŒãƒãƒŒã€‚
-* <a href="https://github.com/emmett-framework/granian" class="external-link" target="_blank">Granian</a>: Python ã‚¢ãƒ—リケヌション向けの Rust è£œ HTTP ã‚µãƒŒãƒãƒŒã€‚
-* <a href="https://unit.nginx.org/howto/fastapi/" class="external-link" target="_blank">NGINX Unit</a>: è»œé‡ã§å€šç”šé€”な Web ã‚¢ãƒ—リケヌションランタむム。
+* [Uvicorn](https://www.uvicorn.dev/): é«˜æ€§èƒœãª ASGI ã‚µãƒŒãƒãƒŒã€‚
+* [Hypercorn](https://hypercorn.readthedocs.io/): HTTP/2 ã‚„ Trio ã«å¯Ÿå¿œã™ã‚‹ ASGI ã‚µãƒŒãƒãƒŒãªã©ã€‚
+* [Daphne](https://github.com/django/daphne): Django Channels ã®ãŸã‚ã«äœœã‚‰ã‚ŒãŸ ASGI ã‚µãƒŒãƒãƒŒã€‚
+* [Granian](https://github.com/emmett-framework/granian): Python ã‚¢ãƒ—リケヌション向けの Rust è£œ HTTP ã‚µãƒŒãƒãƒŒã€‚
+* [NGINX Unit](https://unit.nginx.org/howto/fastapi/): è»œé‡ã§å€šç”šé€”な Web ã‚¢ãƒ—リケヌションランタむム。
 
 ## ã‚µãƒŒãƒãƒŒãƒžã‚·ãƒ³ãšã‚µãƒŒãƒãƒŒãƒ—ログラム { #server-machine-and-server-program }
 
@@ -74,7 +74,7 @@ FastAPI ã‚’むンストヌルするず、本番サヌバヌの Uvicorn ãŒåŒæ¢±
 
 ãŸã ã—、ASGI ã‚µãƒŒãƒãƒŒã‚’手動でむンストヌルするこずもできたす。
 
-[仮想環境](../virtual-environments.md){.internal-link target=_blank}を䜜成しお有効化し、サヌバヌアプリケヌションをむンストヌルしおください。
+[仮想環境](../virtual-environments.md)を䜜成しお有効化し、サヌバヌアプリケヌションをむンストヌルしおください。
 
 äŸ‹ãšã—お、Uvicorn ã‚’むンストヌルするには:
 
@@ -94,7 +94,7 @@ $ pip install "uvicorn[standard]"
 
 `standard` ã‚’付けるず、Uvicorn ã¯æŽšå¥šã®è¿œåŠ äŸå­˜é–¢ä¿‚ã‚‚ã‚€ãƒ³ã‚¹ãƒˆãƒŒãƒ«ã—ãŠäœ¿ç”šã—ãŸã™ã€‚
 
-その䞭には、`asyncio` ã®é«˜æ€§èƒœãªãƒ‰ãƒ­ãƒƒãƒ—むン代替であり、倧きな䞊行実行性胜の向䞊をもたらす `uvloop` ã‚‚含たれたす。
+その䞭には、`uvloop` ã‚‚含たれたす。これは `asyncio` ã®é«˜æ€§èƒœãªãƒ‰ãƒ­ãƒƒãƒ—むン代替で、倧きな䞊行実行性胜の向䞊をもたらしたす。
 
 `pip install "fastapi[standard]"` ã®ã‚ˆã†ã« FastAPI ã‚’むンストヌルした堎合は、すでに `uvicorn[standard]` ã‚‚含たれたす。
 
index 933b875d76a3d17e38abc253c3c36a0add5d4358..c4c6e93557affc8713add10aad41d57f42bcbbcb 100644 (file)
 
 ã‚¢ãƒ—リケヌションをデプロむする際には、**耇数のコア**を利甚し、そしおより倚くのリク゚ストを凊理できるようにするために、プロセスの**レプリケヌション**を持぀こずを望むでしょう。
 
-前のチャプタヌである[デプロむメントのコンセプト](concepts.md){.internal-link target=_blank}にお芋おきたように、有効な戊略がいく぀かありたす。
+前のチャプタヌである[デプロむメントのコンセプト](concepts.md)にお芋おきたように、有効な戊略がいく぀かありたす。
 
 ã“こでは、`fastapi` ã‚³ãƒžãƒ³ãƒ‰ã€ãŸãŸã¯ `uvicorn` ã‚³ãƒžãƒ³ãƒ‰ã‚’盎接䜿っお、**ワヌカヌプロセス**付きの **Uvicorn** ã‚’䜿う方法を玹介したす。
 
 /// info | æƒ…å ±
 
-DockerやKubernetesなどのコンテナを䜿甚しおいる堎合は、次の章で詳しく説明したす [コンテナ内のFastAPI - Docker](docker.md){.internal-link target=_blank}。
+DockerやKubernetesなどのコンテナを䜿甚しおいる堎合は、次の章で詳しく説明したす [コンテナ内のFastAPI - Docker](docker.md)。
 
 ç‰¹ã«**Kubernetes**䞊で実行する堎合は、おそらくワヌカヌは䜿わず、代わりに**コンテナごずに単䞀のUvicornプロセス**を実行したいはずですが、それに぀いおはその章の埌半で説明したす。
 
@@ -126,7 +126,7 @@ $ uvicorn main:app --host 0.0.0.0 --port 8080 --workers 4
 
 ## ã‚³ãƒ³ãƒ†ãƒŠãšDocker { #containers-and-docker }
 
-次章の[コンテナ内のFastAPI - Docker](docker.md){.internal-link target=_blank}では、その他の**デプロむメントのコンセプト**を扱うために䜿える戊略をいく぀か説明したす。
+次章の[コンテナ内のFastAPI - Docker](docker.md)では、その他の**デプロむメントのコンセプト**を扱うために䜿える戊略をいく぀か説明したす。
 
 å˜äž€ã®Uvicornプロセスを実行するために、**れロから独自のむメヌゞを構築する**方法も玹介したす。これは簡単なプロセスで、**Kubernetes**のような分散コンテナ管理システムを䜿う堎合に、おそらくやりたいこずでしょう。
 
index 7980b8be2a6830d370d93be0103fdcaa6dd6cc4b..36e22636c8c922ce88fbcd8337a0f18cb08b2b8a 100644 (file)
@@ -4,7 +4,7 @@
 
 æ–°æ©ŸèƒœãŒé«˜é »åºŠã§è¿œåŠ ã•ã‚Œã€å®šæœŸçš„ã«ãƒã‚°ãŒä¿®æ­£ã•ã‚Œã€ã‚³ãƒŒãƒ‰ã¯ç¶™ç¶šçš„ã«æ”¹å–„ã•ã‚ŒãŠã„ãŸã™ã€‚
 
-これが珟圚のバヌゞョンがいただに `0.x.x` ãªç†ç”±ã§ã‚り、それぞれのバヌゞョンは砎壊的な倉曎がなされる可胜性がありたす。これは、<a href="https://semver.org/" class="external-link" target="_blank">セマンティック ãƒãƒŒã‚žãƒ§ãƒ‹ãƒ³ã‚°</a>の芏則に則っおいたす。
+これが珟圚のバヌゞョンがいただに `0.x.x` ãªç†ç”±ã§ã‚り、それぞれのバヌゞョンは砎壊的な倉曎がなされる可胜性がありたす。これは、[セマンティック ãƒãƒŒã‚žãƒ§ãƒ‹ãƒ³ã‚°](https://semver.org/)の芏則に則っおいたす。
 
 **FastAPI** ã‚’䜿甚するず本番甚アプリケヌションを今すぐ䜜成できたすそしお、おそらくあなたはしばらく前からそうしおいるはずです。必芁なのは、残りのコヌドず正しく動䜜するバヌゞョンを䜿甚しおいるこずを確認するこずだけです。
 
@@ -34,7 +34,7 @@ fastapi[standard]>=0.112.0,<0.113.0
 
 ## åˆ©ç”šå¯èƒœãªãƒãƒŒã‚žãƒ§ãƒ³ { #available-versions }
 
-利甚可胜なバヌゞョン䟋: çŸåœšã®æœ€æ–°ãŒäœ•かを確認するためは、[Release Notes](../release-notes.md){.internal-link target=_blank} ã§ç¢ºèªã§ããŸã™ã€‚
+利甚可胜なバヌゞョン䟋: çŸåœšã®æœ€æ–°ãŒäœ•かを確認するためは、[Release Notes](../release-notes.md) ã§ç¢ºèªã§ããŸã™ã€‚
 
 ## ãƒãƒŒã‚žãƒ§ãƒ³ã«ã€ã„お { #about-versions }
 
@@ -66,7 +66,7 @@ fastapi>=0.45.0,<0.46.0
 
 ã‚¢ãƒ—リケヌションにテストを远加すべきです。
 
-**FastAPI** ã§ã¯éžåžžã«ç°¡å˜ã«å®ŸçŸã§ããŸã™ïŒˆStarlette ã®ãŠã‹ã’です。ドキュメントを確認しお䞋さい: [テスト](../tutorial/testing.md){.internal-link target=_blank}
+**FastAPI** ã§ã¯éžåžžã«ç°¡å˜ã«å®ŸçŸã§ããŸã™ïŒˆStarlette ã®ãŠã‹ã’です。ドキュメントを確認しお䞋さい: [テスト](../tutorial/testing.md)
 
 ãƒ†ã‚¹ãƒˆã‚’远加したら、**FastAPI** ã®ãƒãƒŒã‚žãƒ§ãƒ³ã‚’より新しいものにアップグレヌドし、テストを実行するこずで党おのコヌドが正しく動䜜するか確認できたす。
 
index 4deae70446d578131e13948e3ff8289f8c786334..846f32846137f1b36c2c78b99813d172344bc1eb 100644 (file)
@@ -2,7 +2,7 @@
 
 /// tip | è±†çŸ¥è­˜
 
-ã\82\82ã\81\97ã\80\81ã\80\8cç\92°å¢\83å€\89Ê\95°ã\80\8dã\81šã\81¯Àœ\95ã\81\8bã\80\81ã\81\9dã\82\8cã\82\92ã\81©ã\81\86Àœ¿ã\81\86ã\81\8bã\82\92Ê\97¢ã\81«ç\9f¥ã\81£ã\81Šã\81\84ã\82\8b堎å\90\88ã\81¯ã\80\81ã\81\93ã\81®ã\82»ã\82¯ã\82·ã\83§ã\83³ã\82\92ã\82¹ã\82­ã\83\83ã\83\97ã\81\97ã\81ŠÊ§\8bã\81\84ã\81Ÿã\81\9bã\82\93ã\80\82
+もし「環境倉数」ずは䜕か、それをどう䜿うかを既に知っおいる堎合は、このセクションをスキップしお構いたせん。
 
 ///
 
 <div class="termy">
 
 ```console
-// You could create an env var MY_NAME with
+// ç’°å¢ƒå€‰æ•° MY_NAME ã‚’䜜成する䟋
 $ export MY_NAME="Wade Wilson"
 
-// Then you could use it with other programs, like
+// ãã®åŸŒã€ä»–のプログラムで利甚できたす。䟋えば
 $ echo "Hello $MY_NAME"
 
 Hello Wade Wilson
@@ -37,10 +37,10 @@ Hello Wade Wilson
 <div class="termy">
 
 ```console
-// Create an env var MY_NAME
+// ç’°å¢ƒå€‰æ•° MY_NAME ã‚’䜜成
 $ $Env:MY_NAME = "Wade Wilson"
 
-// Use it with other programs, like
+// ä»–のプログラムで利甚、䟋えば
 $ echo "Hello $Env:MY_NAME"
 
 Hello Wade Wilson
@@ -65,7 +65,7 @@ print(f"Hello {name} from Python")
 
 /// tip | è±†çŸ¥è­˜
 
-<a href="https://docs.python.org/3.8/library/os.html#os.getenv" class="external-link" target="_blank">`os.getenv()`</a> ã®ç¬¬2匕数は、デフォルトで返される倀です。
+[`os.getenv()`](https://docs.python.org/3.8/library/os.html#os.getenv) ã®ç¬¬2匕数は、返されるデフォルト倀です。
 
 æŒ‡å®šã—ない堎合、デフォルトは`None`ですが、ここでは䜿甚するデフォルト倀ずしお`"World"`を指定しおいたす。
 
@@ -78,20 +78,20 @@ print(f"Hello {name} from Python")
 <div class="termy">
 
 ```console
-// Here we don't set the env var yet
+// ã“こではただ環境倉数を蚭定しおいたせん
 $ python main.py
 
-// As we didn't set the env var, we get the default value
+// ç’°å¢ƒå€‰æ•°ã‚’蚭定しおいないため、デフォルト倀が䜿われたす
 
 Hello World from Python
 
-// But if we create an environment variable first
+// ã—かし、先に環境倉数を䜜成するず
 $ export MY_NAME="Wade Wilson"
 
-// And then call the program again
+// ãã‚Œã‹ã‚‰ã‚‚う䞀床プログラムを実行するず
 $ python main.py
 
-// Now it can read the environment variable
+// ã™ã‚‹ãšç’°å¢ƒå€‰æ•°ã‚’読み取れたす
 
 Hello Wade Wilson from Python
 ```
@@ -105,20 +105,20 @@ Hello Wade Wilson from Python
 <div class="termy">
 
 ```console
-// Here we don't set the env var yet
+// ã“こではただ環境倉数を蚭定しおいたせん
 $ python main.py
 
-// As we didn't set the env var, we get the default value
+// ç’°å¢ƒå€‰æ•°ã‚’蚭定しおいないため、デフォルト倀が䜿われたす
 
 Hello World from Python
 
-// But if we create an environment variable first
+// ã—かし、先に環境倉数を䜜成するず
 $ $Env:MY_NAME = "Wade Wilson"
 
-// And then call the program again
+// ãã‚Œã‹ã‚‰ã‚‚う䞀床プログラムを実行するず
 $ python main.py
 
-// Now it can read the environment variable
+// ã™ã‚‹ãšç’°å¢ƒå€‰æ•°ã‚’読み取れたす
 
 Hello Wade Wilson from Python
 ```
@@ -136,14 +136,14 @@ Hello Wade Wilson from Python
 <div class="termy">
 
 ```console
-// Create an env var MY_NAME in line for this program call
+// ã“のプログラム呌び出し甚に同じ行で環境倉数 MY_NAME ã‚’䜜成
 $ MY_NAME="Wade Wilson" python main.py
 
-// Now it can read the environment variable
+// ã“れで環境倉数を読み取れたす
 
 Hello Wade Wilson from Python
 
-// The env var no longer exists afterwards
+// ãã®åŸŒã¯ç’°å¢ƒå€‰æ•°ã¯å­˜åœšã—たせん
 $ python main.py
 
 Hello World from Python
@@ -153,7 +153,7 @@ Hello World from Python
 
 /// tip | è±†çŸ¥è­˜
 
-詳しくは <a href="https://12factor.net/config" class="external-link" target="_blank">The Twelve-Factor App: èš­å®š</a> ã‚’参照しおください。
+詳しくは [The Twelve-Factor App: èš­å®š](https://12factor.net/config) ã‚’参照しおください。
 
 ///
 
@@ -163,7 +163,7 @@ Hello World from Python
 
 ã€ãŸã‚Šã€ç’°å¢ƒå€‰æ•°ã‹ã‚‰Pythonで読み取る**あらゆる倀**は **`str`になり**、他の型ぞの倉換やバリデヌションはコヌド内で行う必芁がありたす。
 
-環境倉数を䜿っお**アプリケヌション蚭定**を扱う方法に぀いおは、[高床なナヌザヌガむド - Settings and Environment Variables](./advanced/settings.md){.internal-link target=_blank} ã§è©³ã—く孊べたす。
+環境倉数を䜿っお**アプリケヌション蚭定**を扱う方法に぀いおは、[高床なナヌザヌガむド - Settings and Environment Variables](./advanced/settings.md)で詳しく孊べたす。
 
 ## `PATH`環境倉数 { #path-environment-variable }
 
@@ -285,13 +285,13 @@ $ C:\opt\custompython\bin\python
 
 ////
 
-この情報は、[Virtual Environments](virtual-environments.md){.internal-link target=_blank} ã«ã€ã„お孊ぶ際にも圹立ちたす。
+この情報は、[Virtual Environments](virtual-environments.md)に぀いお孊ぶ際にも圹立ちたす。
 
 ## ãŸãšã‚ { #conclusion }
 
 ã“れで、**環境倉数**ずは䜕か、Pythonでどのように䜿甚するかに぀いお、基本的な理解が埗られたはずです。
 
-環境倉数に぀いおの詳现は、<a href="https://en.wikipedia.org/wiki/Environment_variable" class="external-link" target="_blank">Wikipedia ã®ç’°å¢ƒå€‰æ•°</a> ã‚‚参照しおください。
+環境倉数に぀いおの詳现は、[Wikipedia ã®ç’°å¢ƒå€‰æ•°](https://en.wikipedia.org/wiki/Environment_variable)も参照しおください。
 
 å€šãã®å Žåˆã€ç’°å¢ƒå€‰æ•°ãŒã©ã®ã‚ˆã†ã«åœ¹ç«‹ã¡ã€ã™ãã«é©ç”šã§ãã‚‹ã®ã‹ã¯ã‚たり明確ではありたせん。しかし、開発䞭のさたざたなシナリオで䜕床も登堎するため、知っおおくずよいでしょう。
 
index 20cc9c2fb8363362402c82129572aa1dd28fb9c0..298ed9141660a67e293b4f29925e6335f2c00b7b 100644 (file)
@@ -1,15 +1,15 @@
 # FastAPI CLI { #fastapi-cli }
 
-**FastAPI CLI** ã¯ã€FastAPI ã‚¢ãƒ—リの提䟛、FastAPI ãƒ—ロゞェクトの管理などに䜿甚できるコマンドラむンプログラムです。
+**FastAPI <abbr title="command line interface - ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚€ãƒ³ã‚€ãƒ³ã‚¿ãƒŒãƒ•ェヌス">CLI</abbr>** ã¯ã€FastAPI ã‚¢ãƒ—リの提䟛、FastAPI ãƒ—ロゞェクトの管理などに䜿甚できるコマンドラむンプログラムです。
 
-FastAPI ã‚’むンストヌルするず䟋: `pip install "fastapi[standard]"`、`fastapi-cli` ãšã„うパッケヌゞが含たれたす。このパッケヌゞがタヌミナルで䜿甚する `fastapi` ã‚³ãƒžãƒ³ãƒ‰ã‚’提䟛したす。
+FastAPI ã‚’むンストヌルするず䟋: `pip install "fastapi[standard]"`、タヌミナルで実行できるコマンドラむンプログラムが付属したす。
 
 é–‹ç™ºç”šã« FastAPI ã‚¢ãƒ—リを起動するには、`fastapi dev` ã‚³ãƒžãƒ³ãƒ‰ã‚’䜿甚できたす:
 
 <div class="termy">
 
 ```console
-$ <font color="#4E9A06">fastapi</font> dev <u style="text-decoration-style:solid">main.py</u>
+$ <font color="#4E9A06">fastapi</font> dev
 
   <span style="background-color:#009485"><font color="#D3D7CF"> FastAPI </font></span>  Starting development server ðŸš€
 
@@ -46,13 +46,66 @@ $ <font color="#4E9A06">fastapi</font> dev <u style="text-decoration-style:solid
 
 </div>
 
-`fastapi` ãšã„うコマンドラむンプログラムが **FastAPI CLI** ã§ã™ã€‚
+/// tip
 
-FastAPI CLI ã¯ã€Python ãƒ—ログラムぞのパス䟋: `main.py`を受け取り、`FastAPI` ã‚€ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ïŒˆé€šåžžã¯ `app`を自動怜出し、適切な import æ–¹æ³•を刀断しお提䟛したす。
+本番では `fastapi dev` ã®ä»£ã‚ã‚Šã« `fastapi run` ã‚’䜿甚したす。🚀
 
-本番環境では代わりに `fastapi run` ã‚’䜿甚したす。🚀
+///
+
+内郚的には、**FastAPI CLI** ã¯ [Uvicorn](https://www.uvicorn.dev)高性胜で本番運甚向けの ASGI ã‚µãƒŒãƒãƒŒïŒ‰ã‚’䜿甚したす。😎
+
+`fastapi` CLI ã¯ã€å®Ÿè¡Œã™ã‚‹ FastAPI ã‚¢ãƒ—リを自動怜出しようずしたす。既定では、`main.py` ã®äž­ã«ã‚ã‚‹ `app` ãšã„う名前のオブゞェクトほかにもいく぀かの倉皮であるず仮定したす。
+
+ただし、䜿甚するアプリを明瀺的に蚭定するこずもできたす。
+
+## `pyproject.toml` ã§ã‚¢ãƒ—リの `entrypoint` ã‚’蚭定 { #configure-the-app-entrypoint-in-pyproject-toml }
+
+`pyproject.toml` ã«æ¬¡ã®ã‚ˆã†ã«ã€ã‚¢ãƒ—リの堎所を蚭定できたす:
+
+```toml
+[tool.fastapi]
+entrypoint = "main:app"
+```
+
+この `entrypoint` ã«ã‚ˆã‚Šã€`fastapi` ã‚³ãƒžãƒ³ãƒ‰ã¯æ¬¡ã®ã‚ˆã†ã«ã‚¢ãƒ—リを import ã™ã‚‹å¿…芁があるず認識したす:
+
+```python
+from main import app
+```
+
+もしコヌド構成が次のような堎合:
+
+```
+.
+├── backend
+│   â”œâ”€â”€ main.py
+│   â”œâ”€â”€ __init__.py
+```
+
+`entrypoint` ã¯æ¬¡ã®ã‚ˆã†ã«èš­å®šã—たす:
+
+```toml
+[tool.fastapi]
+entrypoint = "backend.main:app"
+```
+
+これは次ず同等です:
+
+```python
+from backend.main import app
+```
+
+### ãƒ‘ス指定での `fastapi dev` { #fastapi-dev-with-path }
+
+`fastapi dev` ã‚³ãƒžãƒ³ãƒ‰ã«ãƒ•ァむルパスを枡すこずもでき、䜿甚する FastAPI ã‚¢ãƒ—リオブゞェクトを掚枬したす:
+
+```console
+$ fastapi dev main.py
+```
+
+ただし、そのたびに `fastapi` ã‚³ãƒžãƒ³ãƒ‰ã‚’呌び出す際に正しいパスを枡す必芁がありたす。
 
-内郚的には、**FastAPI CLI** ã¯ <a href="https://www.uvicorn.dev" class="external-link" target="_blank">Uvicorn</a>高性胜で本番運甚向けの ASGI ã‚µãƒŒãƒãƒŒïŒ‰ã‚’䜿甚したす。😎
+さらに、[VS Code æ‹¡åŒµæ©Ÿèƒœ](editor-support.md) ã‚„ [FastAPI Cloud](https://fastapicloud.com) ãªã©ã€ã»ã‹ã®ãƒ„ヌルがそれを芋぀けられない堎合がありたす。そのため、`pyproject.toml` ã® `entrypoint` ã‚’䜿甚するこずを掚奚したす。
 
 ## `fastapi dev` { #fastapi-dev }
 
@@ -68,8 +121,8 @@ FastAPI CLI ã¯ã€Python ãƒ—ログラムぞのパス䟋: `main.py`を受
 
 å€šãã®å ŽåˆïŒˆãã—お掚奚されるのは、䞊䜍に HTTPS ã‚’終端する「termination proxy」を眮きたす。これはアプリのデプロむ方法に䟝存し、プロバむダが代行する堎合もあれば、自分で蚭定する必芁がある堎合もありたす。
 
-/// tip | è±†çŸ¥è­˜
+/// tip
 
-詳しくは、[デプロむのドキュメント](deployment/index.md){.internal-link target=_blank}を参照しおください。
+詳しくは、[デプロむのドキュメント](deployment/index.md)を参照しおください。
 
 ///
index 40a1d2e60d23d95df6854b912222f76f23ddd948..cfde6592d2c3fd450da68fb103f9ae3d05101946 100644 (file)
@@ -6,8 +6,8 @@
 
 ### ã‚ªãƒŒãƒ—ンスタンダヌド準拠 { #based-on-open-standards }
 
-* API äœœæˆã®ãŸã‚ã® <a href="https://github.com/OAI/OpenAPI-Specification" class="external-link" target="_blank"><strong>OpenAPI</strong></a>。<dfn title="別名: ã‚šãƒ³ãƒ‰ãƒã‚€ãƒ³ãƒˆã€ãƒ«ãƒŒãƒˆ">path</dfn> <dfn title="別名: HTTP ãƒ¡ã‚œãƒƒãƒ‰ïŒˆPOST、GET、PUT、DELETE ãªã©ïŒ‰">operations</dfn>、パラメヌタ、リク゚ストボディ、セキュリティなどの宣蚀を含みたす。
-* <a href="https://json-schema.org/" class="external-link" target="_blank"><strong>JSON Schema</strong></a> ã«ã‚ˆã‚‹ãƒ‡ãƒŒã‚¿ãƒ¢ãƒ‡ãƒ«ã®è‡ªå‹•ドキュメント化OpenAPI è‡ªäœ“が JSON Schema ã«åŸºã¥ã„おいたす。
+* API äœœæˆã®ãŸã‚ã® [**OpenAPI**](https://github.com/OAI/OpenAPI-Specification)。<dfn title="別名: ã‚šãƒ³ãƒ‰ãƒã‚€ãƒ³ãƒˆã€ãƒ«ãƒŒãƒˆ">パス</dfn> <dfn title="別名: HTTP ãƒ¡ã‚œãƒƒãƒ‰ïŒˆPOST、GET、PUT、DELETE ãªã©ïŒ‰">オペレヌション</dfn>、パラメヌタ、リク゚ストボディ、セキュリティなどの宣蚀を含みたす。
+* [**JSON Schema**](https://json-schema.org/) ã«ã‚ˆã‚‹ãƒ‡ãƒŒã‚¿ãƒ¢ãƒ‡ãƒ«ã®è‡ªå‹•ドキュメント化OpenAPI è‡ªäœ“が JSON Schema ã«åŸºã¥ã„おいたす。
 * å…¥å¿µãªèª¿æŸ»ã®ã†ãˆã€ã“れらの暙準を䞭心に蚭蚈されおいたす。埌付けのレむダヌではありたせん。
 * ã“れにより、倚くの蚀語で自動 **クラむアントコヌド生成** ãŒå¯èƒœã§ã™ã€‚
 
 
 å¯Ÿè©±çš„な API ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãšæŽ¢çŽ¢çš„ãª Web ãƒŠãƒŒã‚¶ãƒŒã‚€ãƒ³ã‚¿ãƒŒãƒ•ェヌス。フレヌムワヌクは OpenAPI ã«åŸºã¥ã„おいるため、耇数のオプションがあり、デフォルトで 2 ã€å«ãŸã‚ŒãŸã™ã€‚
 
-* <a href="https://github.com/swagger-api/swagger-ui" class="external-link" target="_blank"><strong>Swagger UI</strong></a>。むンタラクティブに探玢し぀぀、ブラりザから盎接 API ã‚’呌び出しおテストできたす。
+* [**Swagger UI**](https://github.com/swagger-api/swagger-ui)。むンタラクティブに探玢し぀぀、ブラりザから盎接 API ã‚’呌び出しおテストできたす。
 
 ![Swagger UI interaction](https://fastapi.tiangolo.com/img/index/index-03-swagger-02.png)
 
-* <a href="https://github.com/Rebilly/ReDoc" class="external-link" target="_blank"><strong>ReDoc</strong></a> ã«ã‚ˆã‚‹ä»£æ›¿ã® API ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã€‚
+* [**ReDoc**](https://github.com/Rebilly/ReDoc) ã«ã‚ˆã‚‹ä»£æ›¿ã® API ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã€‚
 
 ![ReDoc](https://fastapi.tiangolo.com/img/index/index-06-redoc-02.png)
 
@@ -27,7 +27,7 @@
 
 ã™ã¹ãŠæš™æº–の **Python ã®åž‹** å®£èš€ïŒˆPydantic ã«æ„Ÿè¬ïŒ‰ã«åŸºã¥ã„おいたす。新しい構文を孊ぶ必芁はありたせん。暙準的でモダンな Python ã ã‘です。
 
-FastAPI ã‚’䜿わない堎合でもPython ã®åž‹ã®äœ¿ã„方を 2 åˆ†ã§åŸ©ç¿’したい堎合は、短いチュヌトリアル [Python Types](python-types.md){.internal-link target=_blank} ã‚’参照しおください。
+FastAPI ã‚’䜿わない堎合でもPython ã®åž‹ã®äœ¿ã„方を 2 åˆ†ã§åŸ©ç¿’したい堎合は、短いチュヌトリアル [Python ã®åž‹](python-types.md) ã‚’参照しおください。
 
 åž‹ã‚’䜿った暙準的な Python ã‚’蚘述したす:
 
@@ -36,13 +36,13 @@ from datetime import date
 
 from pydantic import BaseModel
 
-# å€‰æ•°ã‚’ str ãšã—お宣蚀
-# ãã—お関数内で゚ディタ支揎を受ける
+# Declare a variable as a str
+# and get editor support inside the function
 def main(user_id: str):
     return user_id
 
 
-# Pydantic ãƒ¢ãƒ‡ãƒ«
+# A Pydantic model
 class User(BaseModel):
     id: int
     name: str
@@ -75,7 +75,7 @@ my_second_user: User = User(**second_user_data)
 
 ãƒ•レヌムワヌク党䜓が䜿いやすく盎感的になるよう蚭蚈されおおり、最高の開発䜓隓を確保するため、開発開始前から耇数の゚ディタであらゆる刀断が怜蚌されおいたす。
 
-Python é–‹ç™ºè€…調査では、<a href="https://www.jetbrains.com/research/python-developers-survey-2017/#tools-and-features" class="external-link" target="_blank">最もよく䜿われる機胜の 1 ã€ãŒã€Œã‚ªãƒŒãƒˆã‚³ãƒ³ãƒ—リヌト」であるこずが明らかです</a>。
+Python é–‹ç™ºè€…調査では、[最もよく䜿われる機胜の 1 ã€ãŒã€Œã‚ªãƒŒãƒˆã‚³ãƒ³ãƒ—リヌト」であるこずが明らかです](https://www.jetbrains.com/research/python-developers-survey-2017/#tools-and-features)。
 
 **FastAPI** ã¯ãã®èŠæ±‚ã‚’æº€ãŸã™ã“ãšã‚’åŸºç›€ã«ã—ãŠã„ãŸã™ã€‚ã‚ªãƒŒãƒˆã‚³ãƒ³ãƒ—ãƒªãƒŒãƒˆã¯ã©ã“ã§ã‚‚æ©Ÿèƒœã—ãŸã™ã€‚
 
@@ -83,11 +83,11 @@ Python é–‹ç™ºè€…調査では、<a href="https://www.jetbrains.com/research/pytho
 
 ã‚šãƒ‡ã‚£ã‚¿ãŒã©ã®ã‚ˆã†ã«åœ¹ç«‹ã€ã‹ã®äŸ‹ã§ã™:
 
-* <a href="https://code.visualstudio.com/" class="external-link" target="_blank">Visual Studio Code</a> ã®å Žåˆ:
+* [Visual Studio Code](https://code.visualstudio.com/) ã®å Žåˆ:
 
 ![editor support](https://fastapi.tiangolo.com/img/vscode-completion.png)
 
-* <a href="https://www.jetbrains.com/pycharm/" class="external-link" target="_blank">PyCharm</a> ã®å Žåˆ:
+* [PyCharm](https://www.jetbrains.com/pycharm/) ã®å Žåˆ:
 
 ![editor support](https://fastapi.tiangolo.com/img/pycharm-completion.png)
 
@@ -124,7 +124,7 @@ Python é–‹ç™ºè€…調査では、<a href="https://www.jetbrains.com/research/pytho
 OpenAPI ã§å®šçŸ©ã•れたすべおのセキュリティスキヌムをサポヌトしたす:
 
 * HTTP Basic。
-* **OAuth2****JWT ãƒˆãƒŒã‚¯ãƒ³** ã‚‚可。チュヌトリアル [JWT ã‚’甚いた OAuth2](tutorial/security/oauth2-jwt.md){.internal-link target=_blank} ã‚’確認しおください。
+* **OAuth2****JWT ãƒˆãƒŒã‚¯ãƒ³** ã‚‚可。チュヌトリアル [JWT ã‚’甚いた OAuth2](tutorial/security/oauth2-jwt.md) ã‚’確認しおください。
 * API ã‚­ãƒŒïŒˆä»¥äž‹ã®å Žæ‰€ïŒ‰:
     * ãƒ˜ãƒƒãƒ€ãƒŒã€‚
     * ã‚¯ã‚šãƒªãƒ‘ラメヌタ。
@@ -159,13 +159,13 @@ FastAPI ã«ã¯ã€éžåžžã«äœ¿ã„やすく、か぀非垞に匷力な <dfn title=
 
 ## Starletteの機胜 { #starlette-features }
 
-**FastAPI** ã¯ <a href="https://www.starlette.dev/" class="external-link" target="_blank"><strong>Starlette</strong></a> ãšå®Œå…šã«äº’換性がありか぀それに基づいおいたす。そのため、手元の Starlette ã®è¿œåŠ ã‚³ãƒŒãƒ‰ã‚‚å‹•äœœã—ãŸã™ã€‚
+**FastAPI** ã¯ [**Starlette**](https://www.starlette.dev/) ãšå®Œå…šã«äº’換性がありか぀それに基づいおいたす。そのため、手元の Starlette ã®è¿œåŠ ã‚³ãƒŒãƒ‰ã‚‚å‹•äœœã—ãŸã™ã€‚
 
 `FastAPI` ã¯å®Ÿéš›ã«ã¯ `Starlette` ã®ã‚µãƒ–クラスです。すでに Starlette ã‚’知っおいる、あるいは䜿っおいるなら、ほずんどの機胜は同じように動䜜したす。
 
 **FastAPI** ã§ã¯ **Starlette** ã®ã™ã¹ãŠã®æ©ŸèƒœãŒåˆ©ç”šã§ããŸã™ïŒˆFastAPI ã¯åŒ·åŒ–された Starlette ã«ã™ãŽãŸã›ã‚“:
 
-* åœ§å€’的なパフォヌマンス。<a href="https://github.com/encode/starlette#performance" class="external-link" target="_blank">利甚可胜な最速クラスの Python ãƒ•レヌムワヌクの 1 ã€ã§ã€**NodeJS** ã‚„ **Go** ãšåŒç­‰ã§ã™</a>。
+* åœ§å€’的なパフォヌマンス。[利甚可胜な最速クラスの Python ãƒ•レヌムワヌクの 1 ã€ã§ã€**NodeJS** ã‚„ **Go** ãšåŒç­‰ã§ã™](https://github.com/encode/starlette#performance)。
 * **WebSocket** ã®ã‚µãƒãƒŒãƒˆã€‚
 * ãƒ—ロセス内バックグラりンドタスク。
 * èµ·å‹•およびシャットダりンむベント。
@@ -177,7 +177,7 @@ FastAPI ã«ã¯ã€éžåžžã«äœ¿ã„やすく、か぀非垞に匷力な <dfn title=
 
 ## Pydanticの機胜 { #pydantic-features }
 
-**FastAPI** ã¯ <a href="https://docs.pydantic.dev/" class="external-link" target="_blank"><strong>Pydantic</strong></a> ãšå®Œå…šã«äº’換性がありか぀それに基づいおいたす。そのため、手元の Pydantic ã®è¿œåŠ ã‚³ãƒŒãƒ‰ã‚‚å‹•äœœã—ãŸã™ã€‚
+**FastAPI** ã¯ [**Pydantic**](https://docs.pydantic.dev/) ãšå®Œå…šã«äº’換性がありか぀それに基づいおいたす。そのため、手元の Pydantic ã®è¿œåŠ ã‚³ãƒŒãƒ‰ã‚‚å‹•äœœã—ãŸã™ã€‚
 
 Pydantic ã«åŸºã¥ãå€–郚ラむブラリデヌタベヌス甚の <abbr title="Object-Relational Mapper - ã‚ªãƒ–ゞェクト関係マッパヌ">ORM</abbr>、<abbr title="Object-Document Mapper - ã‚ªãƒ–ゞェクトドキュメントマッパヌ">ODM</abbr> ãªã©ïŒ‰ã‚‚含たれたす。
 
index ed91bb19f6a5b6e2555258ff58929a9bb30333a6..3ae18449fa8cba93a1dfeea099cb38ea892135f8 100644 (file)
@@ -12,7 +12,7 @@ FastAPIや他のナヌザヌ、䜜者を応揎したいですか
 
 ## ãƒ‹ãƒ¥ãƒŒã‚¹ãƒ¬ã‚¿ãƒŒã‚’賌読 { #subscribe-to-the-newsletter }
 
-[**FastAPI and friends** ãƒ‹ãƒ¥ãƒŒã‚¹ãƒ¬ã‚¿ãƒŒ](newsletter.md){.internal-link target=_blank}配信はたれですを賌読するず、次の情報をキャッチアップできたす:
+[**FastAPI and friends** ãƒ‹ãƒ¥ãƒŒã‚¹ãƒ¬ã‚¿ãƒŒ](newsletter.md)配信はたれですを賌読するず、次の情報をキャッチアップできたす:
 
 * FastAPI ãšé–¢é€£ãƒ—ロゞェクトのニュヌス ðŸš€
 * ã‚¬ã‚€ãƒ‰ ðŸ“
@@ -22,17 +22,17 @@ FastAPIや他のナヌザヌ、䜜者を応揎したいですか
 
 ## X (Twitter) ã§ FastAPI ã‚’フォロヌ { #follow-fastapi-on-x-twitter }
 
-<a href="https://x.com/fastapi" class="external-link" target="_blank">**X (Twitter)** ã§ @fastapi ã‚’フォロヌ</a>しお、**FastAPI** ã®æœ€æ–°æƒ…報を受け取りたしょう。🐊
+[**X (Twitter)** ã§ @fastapi ã‚’フォロヌ](https://x.com/fastapi)しお、**FastAPI** ã®æœ€æ–°æƒ…報を受け取りたしょう。🐊
 
 ## GitHubで **FastAPI** ã«Star { #star-fastapi-in-github }
 
-GitHubでFastAPIに「Star」を぀けるこずができたす右䞊郚のStarボタンをクリック: <a href="https://github.com/fastapi/fastapi" class="external-link" target="_blank">https://github.com/fastapi/fastapi</a>。⭐
+GitHubでFastAPIに「Star」を぀けるこずができたす右䞊郚のStarボタンをクリック: [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi)。⭐
 
 ã‚¹ã‚¿ãƒŒã‚’増やすこずで、他のナヌザヌの目に぀きやすくなり、すでに倚くの人の圹に立っおいるこずが䌝わりたす。
 
 ## GitHubレポゞトリのリリヌスをWatch { #watch-the-github-repository-for-releases }
 
-GitHubでFastAPIを「Watch」できたす右䞊郚の「Watch」ボタンをクリック: <a href="https://github.com/fastapi/fastapi" class="external-link" target="_blank">https://github.com/fastapi/fastapi</a>。👀
+GitHubでFastAPIを「Watch」できたす右䞊郚の「Watch」ボタンをクリック: [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi)。👀
 
 ãã“で「Releases only」を遞択できたす。
 
@@ -40,45 +40,45 @@ GitHubでFastAPIを「Watch」できたす右䞊郚の「Watch」ボタンを
 
 ## é–‹ç™ºè€…ず぀ながる { #connect-with-the-author }
 
-䜜者である<a href="https://tiangolo.com" class="external-link" target="_blank">私Sebastián Ramírez / `tiangolo`</a>ず぀ながれたす。
+䜜者である[私Sebastián Ramírez / `tiangolo`](https://tiangolo.com)ず぀ながれたす。
 
 ã§ãã‚‹ã“ず:
 
-* <a href="https://github.com/tiangolo" class="external-link" target="_blank">**GitHub** ã§ãƒ•ォロヌ</a>。
+* [**GitHub** ã§ãƒ•ォロヌ](https://github.com/tiangolo)。
     * åœ¹ã«ç«‹ã€ã‹ã‚‚しれない、私が䜜成した他のオヌプン゜ヌスプロゞェクトを芋られたす。
     * æ–°ã—いオヌプン゜ヌスプロゞェクトを䜜成したずきにわかりたす。
-* <a href="https://x.com/tiangolo" class="external-link" target="_blank">**X (Twitter)** ã§ãƒ•ォロヌ</a> ãŸãŸã¯ <a href="https://fosstodon.org/@tiangolo" class="external-link" target="_blank">Mastodon</a>。
+* [**X (Twitter)** ã§ãƒ•ォロヌ](https://x.com/tiangolo) ãŸãŸã¯ [Mastodon](https://fosstodon.org/@tiangolo)。
     * ã‚なたがどのようにFastAPIを䜿っおいるか教えおください聞けるず嬉しいです。
     * æ–°ã—いツヌルの告知やリリヌスを聞けたす。
-    * ã•らに、<a href="https://x.com/fastapi" class="external-link" target="_blank">X (Twitter) ã® @fastapi</a>別アカりントもフォロヌできたす。
-* <a href="https://www.linkedin.com/in/tiangolo/" class="external-link" target="_blank">**LinkedIn** ã§ãƒ•ォロヌ</a>。
+    * ã•らに、[X (Twitter) ã® @fastapi](https://x.com/fastapi)別アカりントもフォロヌできたす。
+* [**LinkedIn** ã§ãƒ•ォロヌ](https://www.linkedin.com/in/tiangolo/)。
     * æ–°ã—いツヌルの告知やリリヌスを聞けたすただしX (Twitter) ã®æ–¹ã‚’よく䜿っおいたす ðŸ€·â€â™‚。
-* <a href="https://dev.to/tiangolo" class="external-link" target="_blank">**Dev.to**</a> ã‚„ <a href="https://medium.com/@tiangolo" class="external-link" target="_blank">**Medium**</a> ã§åŸ·ç­†å†…容を読むたたはフォロヌ。
+* [**Dev.to**](https://dev.to/tiangolo) ã‚„ [**Medium**](https://medium.com/@tiangolo) ã§åŸ·ç­†å†…容を読むたたはフォロヌ。
     * ç§ã®ã‚¢ã‚€ãƒ‡ã‚¢ã‚„、䜜成したツヌルに関する蚘事を読めたす。
     * æ–°ã—い蚘事を公開したずきに読めたす。
 
 ## **FastAPI** ã«ã€ã„おツむヌト { #tweet-about-fastapi }
 
-<a href="https://x.com/compose/tweet?text=I'm loving @fastapi because... https://github.com/fastapi/fastapi" class="external-link" target="_blank">**FastAPI** ã«ã€ã„おツむヌト</a>しお、なぜ気に入っおいるのかを私や他の人に教えおください。🎉
+[**FastAPI** ã«ã€ã„おツむヌト](https://x.com/compose/tweet?text=I'm loving @fastapi because... https://github.com/fastapi/fastapi)しお、なぜ気に入っおいるのかを私や他の人に教えおください。🎉
 
 **FastAPI** ãŒã©ã®ã‚ˆã†ã«äœ¿ã‚ã‚ŒãŠã„るか、どこを気に入っおいるか、どのプロゞェクト/䌚瀟で䜿っおいるか等、聞けるず嬉しいです。
 
 ## FastAPIに投祚 { #vote-for-fastapi }
 
-* <a href="https://www.slant.co/options/34241/~fastapi-review" class="external-link" target="_blank">Slantで **FastAPI** ã«æŠ•祚</a>。
-* <a href="https://alternativeto.net/software/fastapi/about/" class="external-link" target="_blank">AlternativeToで **FastAPI** ã«æŠ•祚</a>。
-* <a href="https://stackshare.io/pypi-fastapi" class="external-link" target="_blank">StackShare ã§ **FastAPI** ã‚’䜿っおいるず宣蚀</a>。
+* [Slantで **FastAPI** ã«æŠ•祚](https://www.slant.co/options/34241/~fastapi-review)。
+* [AlternativeToで **FastAPI** ã«æŠ•祚](https://alternativeto.net/software/fastapi/about/)。
+* [StackShare ã§ **FastAPI** ã‚’䜿っおいるず宣蚀](https://stackshare.io/pypi-fastapi)。
 
 ## GitHubで質問に困っおいる人を助ける { #help-others-with-questions-in-github }
 
 æ¬¡ã®å Žæ‰€ã§ã€ä»–の人の質問を手助けできたす:
 
-* <a href="https://github.com/fastapi/fastapi/discussions/categories/questions?discussions_q=category%3AQuestions+is%3Aunanswered" class="external-link" target="_blank">GitHub Discussions</a>
-* <a href="https://github.com/fastapi/fastapi/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Aquestion+-label%3Aanswered+" class="external-link" target="_blank">GitHub Issues</a>
+* [GitHub Discussions](https://github.com/fastapi/fastapi/discussions/categories/questions?discussions_q=category%3AQuestions+is%3Aunanswered)
+* [GitHub Issues](https://github.com/fastapi/fastapi/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Aquestion+-label%3Aanswered+)
 
 å€šãã®å Žåˆã€ãã®è³ªå•ã®ç­”えをすでに知っおいるかもしれたせん。🀓
 
-もし倚くの人の質問に答えお助けおくれたなら、あなたは公匏の[FastAPI Expert](fastapi-people.md#fastapi-experts){.internal-link target=_blank}になりたす。🎉
+もし倚くの人の質問に答えお助けおくれたなら、あなたは公匏の[FastAPI Expert](fastapi-people.md#fastapi-experts)になりたす。🎉
 
 æœ€ã‚‚倧事なポむントは「芪切であるこず」を心がけるこずです。人はフラストレヌションを抱えおやっお来るので、必ずしも最良の聞き方をしおいるずは限りたせんが、できる限り芪切に察応したしょう。🀗
 
@@ -98,13 +98,13 @@ GitHubでFastAPIを「Watch」できたす右䞊郚の「Watch」ボタンを
 
 * è³ªå•ãŒç†è§£ã§ããªã„堎合は、さらに「詳现」を尋ねたす。
 
-### å•é¡Œã‚’再珟する { #reproduce-the-problem }
+### é—®é¡Œã‚’再珟する { #reproduce-the-problem }
 
 å€šãã®ã‚±ãƒŒã‚¹ã‚„質問は、その人の「元のコヌド」に関係しおいたす。
 
 ã—ばしばコヌドの断片だけが共有されたすが、それでは問題を「再珟」するには䞍十分です。
 
-* ãƒ­ãƒŒã‚«ãƒ«ã§åŒã˜ã‚šãƒ©ãƒŒã‚„挙動を確認できるように、たたはナヌスケヌスをよりよく理解できるように、**コピヌ&ペヌスト**しお実行できる<a href="https://stackoverflow.com/help/minimal-reproducible-example" class="external-link" target="_blank">最小の再珟可胜な䟋</a>の提䟛を䟝頌できたす。
+* ãƒ­ãƒŒã‚«ãƒ«ã§åŒã˜ã‚šãƒ©ãƒŒã‚„挙動を確認できるように、たたはナヌスケヌスをよりよく理解できるように、**コピヌ&ペヌスト**しお実行できる[最小の再珟可胜な䟋](https://stackoverflow.com/help/minimal-reproducible-example)の提䟛を䟝頌できたす。
 
 * ãšãŠã‚‚寛倧な気分なら、問題の説明だけをもずに、あなた自身でそのような**䟋を䜜成**しおみるこずもできたす。ただし時間がかかる可胜性が高いので、たずは問題の明確化を䟝頌した方が良い堎合もありたす。
 
@@ -125,7 +125,7 @@ GitHubでFastAPIを「Watch」できたす右䞊郚の「Watch」ボタンを
 
 ## GitHubレポゞトリをWatch { #watch-the-github-repository }
 
-GitHubでFastAPIを「Watch」できたす右䞊郚の「Watch」ボタンをクリック: <a href="https://github.com/fastapi/fastapi" class="external-link" target="_blank">https://github.com/fastapi/fastapi</a>。👀
+GitHubでFastAPIを「Watch」できたす右䞊郚の「Watch」ボタンをクリック: [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi)。👀
 
 ã€ŒReleases only」ではなく「Watching」を遞択するず、新しい issue ã‚„質問が䜜成されたずきに通知を受け取れたす。新しい issue ã®ã¿ã€Discussions ã®ã¿ã€PR ã®ã¿ã€ãªã©é€šçŸ¥å¯Ÿè±¡ã‚’絞るこずもできたす。
 
@@ -133,7 +133,7 @@ GitHubでFastAPIを「Watch」できたす右䞊郚の「Watch」ボタンを
 
 ## è³ªå•ã™ã‚‹ { #ask-questions }
 
-GitHubレポゞトリで<a href="https://github.com/fastapi/fastapi/discussions/new?category=questions" class="external-link" target="_blank">新しい質問</a>を䜜成できたす。䟋えば:
+GitHubレポゞトリで[新しい質問](https://github.com/fastapi/fastapi/discussions/new?category=questions)を䜜成できたす。䟋えば:
 
 * **質問**をする、たたは**問題**に぀いお尋ねる。
 * æ–°ã—い**機胜**を提案する。
@@ -196,12 +196,12 @@ GitHubレポゞトリで<a href="https://github.com/fastapi/fastapi/discussions/
 
 ## ãƒ—ルリク゚ストを䜜成 { #create-a-pull-request }
 
-[貢献](contributing.md){.internal-link target=_blank}ずしお、次のようにプルリク゚ストで゜ヌスコヌドに貢献できたす:
+[貢献](contributing.md)ずしお、次のようにプルリク゚ストで゜ヌスコヌドに貢献できたす:
 
 * ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã§èŠ‹ã€ã‘ãŸã‚¿ã‚€ãƒã®ä¿®æ­£ã€‚
-* è‡ªåˆ†ãŒäœœæˆ/発芋した FastAPI ã«é–¢ã™ã‚‹èš˜äº‹ãƒ»å‹•画・ポッドキャストを、<a href="https://github.com/fastapi/fastapi/edit/master/docs/en/data/external_links.yml" class="external-link" target="_blank">このファむルを線集</a>しお共有。
+* è‡ªåˆ†ãŒäœœæˆ/発芋した FastAPI ã«é–¢ã™ã‚‹èš˜äº‹ãƒ»å‹•画・ポッドキャストを、[このファむルを線集](https://github.com/fastapi/fastapi/edit/master/docs/en/data/external_links.yml)しお共有。
     * è©²åœ“セクションの先頭にリンクを远加しおください。
-* è‡ªåˆ†ã®èš€èªžãžã®[ドキュメント翻蚳を手䌝う](contributing.md#translations){.internal-link target=_blank}。
+* è‡ªåˆ†ã®èš€èªžãžã®[ドキュメント翻蚳を手䌝う](contributing.md#translations)。
     * ä»–の人が䜜成した翻蚳のレビュヌも手䌝えたす。
 * æ–°ã—いドキュメントセクションの提案。
 * æ—¢å­˜ã®issue/バグの修正。
@@ -218,8 +218,8 @@ GitHubレポゞトリで<a href="https://github.com/fastapi/fastapi/discussions/
 
 ä»Šã™ãã§ãã‚‹äž»ãªã‚¿ã‚¹ã‚¯ã¯æ¬¡ã®ãšãŠã‚Šã§ã™:
 
-* [GitHubで質問に困っおいる人を助ける](#help-others-with-questions-in-github){.internal-link target=_blank}䞊のセクションを参照。
-* [プルリク゚ストをレビュヌ](#review-pull-requests){.internal-link target=_blank}䞊のセクションを参照。
+* [GitHubで質問に困っおいる人を助ける](#help-others-with-questions-in-github)䞊のセクションを参照。
+* [プルリク゚ストをレビュヌ](#review-pull-requests)䞊のセクションを参照。
 
 ã“の2぀が**最も時間を消費**したす。FastAPI ã®ãƒ¡ãƒ³ãƒ†ãƒŠãƒ³ã‚¹äœœæ¥­ã®äž­å¿ƒã§ã™ã€‚
 
@@ -227,11 +227,11 @@ GitHubレポゞトリで<a href="https://github.com/fastapi/fastapi/discussions/
 
 ## ãƒãƒ£ãƒƒãƒˆã«å‚加 { #join-the-chat }
 
-👥 <a href="https://discord.gg/VQjSZaeJmf" class="external-link" target="_blank">Discord ãƒãƒ£ãƒƒãƒˆã‚µãƒŒãƒãƒŒ</a> ðŸ‘¥ ã«å‚加し、FastAPI ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ã®ã¿ã‚“なず亀流したしょう。
+👥 [Discord ãƒãƒ£ãƒƒãƒˆã‚µãƒŒãƒãƒŒ](https://discord.gg/VQjSZaeJmf) ðŸ‘¥ ã«å‚加し、FastAPI ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ã®ã¿ã‚“なず亀流したしょう。
 
 /// tip | è±†çŸ¥è­˜
 
-質問は <a href="https://github.com/fastapi/fastapi/discussions/new?category=questions" class="external-link" target="_blank">GitHub Discussions</a> ã«æŠ•皿しおください。そこなら[FastAPI Experts](fastapi-people.md#fastapi-experts){.internal-link target=_blank}から助けおもらえる可胜性がずっず高いです。
+質問は [GitHub Discussions](https://github.com/fastapi/fastapi/discussions/new?category=questions) ã«æŠ•皿しおください。そこなら[FastAPI Experts](fastapi-people.md#fastapi-experts)から助けおもらえる可胜性がずっず高いです。
 
 ãƒãƒ£ãƒƒãƒˆã¯äž€èˆ¬çš„な䌚話のみに䜿いたしょう。
 
@@ -243,13 +243,13 @@ GitHubレポゞトリで<a href="https://github.com/fastapi/fastapi/discussions/
 
 GitHub ã§ã¯ã€ãƒ†ãƒ³ãƒ—レヌトが正しい圢で質問を曞くのを助けおくれるため、良い回答を埗やすくなりたすし、質問する前に自分で問題を解決できるこずもありたす。さらにGitHubなら、時間がかかっおも私が必ずすべおに回答できるようにできたす。チャットでは私個人にはそれができたせん。😅
 
-チャットでの䌚話はGitHubほど怜玢しやすくないため、質問ず回答が䌚話に埋もれがちです。そしお、[FastAPI Expert](fastapi-people.md#fastapi-experts){.internal-link target=_blank}になるためにカりントされるのはGitHub䞊の掻動だけです。ですから、GitHubの方が泚目を集めやすいでしょう。
+チャットでの䌚話はGitHubほど怜玢しやすくないため、質問ず回答が䌚話に埋もれがちです。そしお、[FastAPI Expert](fastapi-people.md#fastapi-experts)になるためにカりントされるのはGitHub䞊の掻動だけです。ですから、GitHubの方が泚目を集めやすいでしょう。
 
 äž€æ–¹ã§ã€ãƒãƒ£ãƒƒãƒˆã«ã¯æ•°åƒäººã®ãƒŠãƒŒã‚¶ãƒŒãŒã„るため、ほが垞に誰かず䌚話できる可胜性が高いです。😄
 
 ## äœœè€…をスポンサヌ { #sponsor-the-author }
 
-あなたの**補品/䌚瀟**が **FastAPI** ã«äŸå­˜ã—おいる、たたは関連しおおり、そのナヌザヌにリヌチしたい堎合は、<a href="https://github.com/sponsors/tiangolo" class="external-link" target="_blank">GitHub sponsors</a> ã‚’通じお䜜者私を支揎できたす。プランに応じお、ドキュメントにバッゞが衚瀺されるなどの特兞がある堎合がありたす。🎁
+あなたの**補品/䌚瀟**が **FastAPI** ã«äŸå­˜ã—おいる、たたは関連しおおり、そのナヌザヌにリヌチしたい堎合は、[GitHub sponsors](https://github.com/sponsors/tiangolo) ã‚’通じお䜜者私を支揎できたす。プランに応じお、ドキュメントにバッゞが衚瀺されるなどの特兞がある堎合がありたす。🎁
 
 ---
 
index 14655570800343691bdfe7ac7a26f8a0770bf385..8364002886f5504a8b491e4ab0ad151a43d426d0 100644 (file)
@@ -1,6 +1,6 @@
 # æ­Žå²ã€èš­èšˆã€ãã—おこれから { #history-design-and-future }
 
-少し前に、<a href="https://github.com/fastapi/fastapi/issues/3#issuecomment-454956920" class="external-link" target="_blank">**FastAPI**のナヌザヌに以䞋の様に尋ねられたした</a>:
+しばらく前に、[ある **FastAPI** ãƒŠãƒŒã‚¶ãƒŒãŒè³ªå•ã—たした](https://github.com/fastapi/fastapi/issues/3#issuecomment-454956920):
 
 > ã“のプロゞェクトの歎史は䜕もないずころから、数週間ですごいものができおいるようです。 [...]
 
@@ -14,7 +14,7 @@
 
 **FastAPI** ã®æ­Žå²ã¯ã€ãã®å‰èº«ã®æ­Žå²ãŒå€§éƒšåˆ†ã‚’占めおいたす。
 
-[代替ツヌルから受けたむンスピレヌションず比范](alternatives.md){.internal-link target=_blank}のセクションでこう述べおいたす:
+[代替手段](alternatives.md)のセクションでこう述べおいたす:
 
 <blockquote markdown="1">
 
@@ -44,7 +44,7 @@
 
 ã‚‚っずも人気のあるPython゚ディタヌでいく぀かのアむデアをテストしたした。PyCharm、VS Code、Jediベヌスの゚ディタヌです。
 
-最新の <a href="https://www.jetbrains.com/research/python-developers-survey-2018/#development-tools" class="external-link" target="_blank">Python開発者調査</a>で、それらの゚ディタヌがナヌザヌの80%をカバヌしおいたした。
+最新の [Python開発者調査](https://www.jetbrains.com/research/python-developers-survey-2018/#development-tools)で、それらの゚ディタヌがナヌザヌの80%をカバヌしおいたした。
 
 ã“れは、**FastAPI**がPython開発者の80%が䜿甚しおいる゚ディタヌで特別にテストされたこずを意味したす。たた、ほずんどの他の゚ディタヌも同様に動䜜する傟向があるため、この恩恵は事実䞊すべおの゚ディタヌでうけられるはずです。
 
 
 ## èЁ件 { #requirements }
 
-いく぀かの代替手法を詊したあず、私は<a href="https://docs.pydantic.dev/" class="external-link" target="_blank">**Pydantic**</a>の匷みを利甚するこずを決めたした。
+いく぀かの代替手法を詊したあず、私は[**Pydantic**](https://docs.pydantic.dev/)の匷みを利甚するこずを決めたした。
 
 ãã—お、JSON Schemaに完党に準拠するようにしたり、制玄宣蚀を定矩するさたざたな方法をサポヌトしたり、いく぀かの゚ディタヌでのテストに基づいお゚ディタヌのサポヌト (型チェック、自動補完) ã‚’改善するために貢献したした。
 
-開発䞭、もう1぀の重芁な鍵ずなる<a href="https://www.starlette.dev/" class="external-link" target="_blank">**Starlette**</a>にも貢献したした。
+開発䞭、もう1぀の重芁な鍵ずなる[**Starlette**](https://www.starlette.dev/)にも貢献したした。
 
 ## é–‹ç™º { #development }
 
@@ -76,4 +76,4 @@
 
 **FastAPI**には倧きな未来が埅っおいたす。
 
-そしお、[あなたの助け](help-fastapi.md){.internal-link target=_blank}を倧いに歓迎したす。
+そしお、[あなたの助け](help-fastapi.md)を倧いに歓迎したす。
index 9bef476444e9d53d5572d146ff7bbd654a7ba5e7..ec5e25b75bdfe3158ce3827dffe6f435e5539a94 100644 (file)
@@ -2,7 +2,7 @@
 
 FastAPI ãƒãƒŒã‚žãƒ§ãƒ³ `0.122.0` ã‚ˆã‚Šå‰ã¯ã€çµ±åˆã•れたセキュリティナヌティリティが認蚌に倱敗しおクラむアントぞ゚ラヌを返す際、HTTP ã‚¹ãƒ†ãƒŒã‚¿ã‚¹ã‚³ãƒŒãƒ‰ `403 Forbidden` ã‚’䜿甚しおいたした。
 
-FastAPI ãƒãƒŒã‚žãƒ§ãƒ³ `0.122.0` ä»¥é™ã§ã¯ã€ã‚ˆã‚Šé©åˆ‡ãª HTTP ã‚¹ãƒ†ãƒŒã‚¿ã‚¹ã‚³ãƒŒãƒ‰ `401 Unauthorized` ã‚’䜿甚し、HTTP ä»•様に埓っおレスポンスに劥圓な `WWW-Authenticate` ãƒ˜ãƒƒãƒ€ãƒŒã‚’含めたす。<a href="https://datatracker.ietf.org/doc/html/rfc7235#section-3.1" class="external-link" target="_blank">RFC 7235</a>、<a href="https://datatracker.ietf.org/doc/html/rfc9110#name-401-unauthorized" class="external-link" target="_blank">RFC 9110</a>。
+FastAPI ãƒãƒŒã‚žãƒ§ãƒ³ `0.122.0` ä»¥é™ã§ã¯ã€ã‚ˆã‚Šé©åˆ‡ãª HTTP ã‚¹ãƒ†ãƒŒã‚¿ã‚¹ã‚³ãƒŒãƒ‰ `401 Unauthorized` ã‚’䜿甚し、HTTP ä»•様に埓っおレスポンスに劥圓な `WWW-Authenticate` ãƒ˜ãƒƒãƒ€ãƒŒã‚’含めたす。[RFC 7235](https://datatracker.ietf.org/doc/html/rfc7235#section-3.1), [RFC 9110](https://datatracker.ietf.org/doc/html/rfc9110#name-401-unauthorized)。
 
 ã—かし、䜕らかの理由でクラむアントが埓来の挙動に䟝存しおいる堎合は、セキュリティクラスでメ゜ッド `make_not_authenticated_error` ã‚’オヌバヌラむドするこずで、その挙動に戻せたす。
 
index 0febe1ef67cc4905f7030c9c1c97ebde08244e9c..b6281ed06fdb724daccc4f0a73a52faa40a93113 100644 (file)
@@ -10,7 +10,7 @@
 
 ã‚‚しセキュリティ䞊の欠陥が゜ヌスコヌドにあるならば、それは存圚したたたです。
 
-ドキュメンテヌションを非衚瀺にするのは、単にあなたのAPIぞのアクセス方法を難解にするだけでなく、同時にあなた自身の本番環境でのAPIのデバッグを困難にしおしたう可胜性がありたす。単玔に、 <a href="https://en.wikipedia.org/wiki/Security_through_obscurity" class="external-link" target="_blank">秘匿によるセキュリティ</a> ã®äž€ã€ã®åœ¢æ…‹ãšã—お考えられるでしょう。
+ドキュメンテヌションを非衚瀺にするのは、単にあなたのAPIぞのアクセス方法を難解にするだけでなく、同時にあなた自身の本番環境でのAPIのデバッグを困難にしおしたう可胜性がありたす。単玔に、[秘匿によるセキュリティ](https://en.wikipedia.org/wiki/Security_through_obscurity) ã®äž€ã€ã®åœ¢æ…‹ãšã—お考えられるでしょう。
 
 ã‚‚しあなたのAPIのセキュリティを匷化したいなら、いく぀かのよりよい方法がありたす。䟋を瀺すず、
 
index 8be7adc84ca539f1fb8e46fc2f673355a777b6a8..2950918575c79afc47915c62d2ba433928180626 100644 (file)
@@ -1,6 +1,6 @@
 # Swagger UI ã®èš­å®š { #configure-swagger-ui }
 
-いく぀かの远加の <a href="https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration/" class="external-link" target="_blank">Swagger UI ãƒ‘ラメヌタ</a>を蚭定できたす。
+いく぀かの远加の [Swagger UI ãƒ‘ラメヌタ](https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration/)を蚭定できたす。
 
 èš­å®šã™ã‚‹ã«ã¯ã€`FastAPI()` ã®ã‚¢ãƒ—リオブゞェクトを䜜成するずき、たたは `get_swagger_ui_html()` é–¢æ•°ã« `swagger_ui_parameters` åŒ•数を枡したす。
 
@@ -50,7 +50,7 @@ FastAPI ã«ã¯ã€å€šãã®ãƒŠãƒŒã‚¹ã‚±ãƒŒã‚¹ã«é©ã—た既定の蚭定パラメ
 
 ## ãã®ä»–の Swagger UI ãƒ‘ラメヌタ { #other-swagger-ui-parameters }
 
-利甚可胜な他のすべおの蚭定に぀いおは、公匏の <a href="https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration/" class="external-link" target="_blank">Swagger UI ãƒ‘ラメヌタのドキュメント</a>を参照しおください。
+利甚可胜な他のすべおの蚭定に぀いおは、公匏の [Swagger UI ãƒ‘ラメヌタのドキュメント](https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration/)を参照しおください。
 
 ## JavaScript å°‚甚の蚭定 { #javascript-only-settings }
 
index c0c9745b2806c94382a70d562acdc56348be36e4..eb1b96c5afa53b9d6c032c451fecda7d8237aff8 100644 (file)
@@ -54,7 +54,7 @@ Swagger UI ãŒã“の凊理を裏偎で行いたすが、そのためにこの「
 
 ### ãƒ†ã‚¹ãƒˆ { #test-it }
 
-これで、<a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a> ã«ã‚¢ã‚¯ã‚»ã‚¹ã—おペヌゞを再読み蟌みするず、新しい CDN ã‹ã‚‰ãã‚Œã‚‰ã®ã‚¢ã‚»ãƒƒãƒˆãŒèª­ã¿èŸŒãŸã‚Œã‚‹ã¯ãšã§ã™ã€‚
+これで、[http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) ã«ã‚¢ã‚¯ã‚»ã‚¹ã—おペヌゞを再読み蟌みするず、新しい CDN ã‹ã‚‰ãã‚Œã‚‰ã®ã‚¢ã‚»ãƒƒãƒˆãŒèª­ã¿èŸŒãŸã‚Œã‚‹ã¯ãšã§ã™ã€‚
 
 ## ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆç”š JavaScript ãš CSS ã®ã‚»ãƒ«ãƒ•ホスティング { #self-hosting-javascript-and-css-for-docs }
 
@@ -93,12 +93,12 @@ Swagger UI ãŒã“の凊理を裏偎で行いたすが、そのためにこの「
 
 **Swagger UI** ã§ã¯æ¬¡ã®ãƒ•ァむルを䜿甚したす:
 
-- <a href="https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui-bundle.js" class="external-link" target="_blank">`swagger-ui-bundle.js`</a>
-- <a href="https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui.css" class="external-link" target="_blank">`swagger-ui.css`</a>
+- [`swagger-ui-bundle.js`](https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui-bundle.js)
+- [`swagger-ui.css`](https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui.css)
 
 ãã—お **ReDoc** ã§ã¯æ¬¡ã®ãƒ•ァむルを䜿甚したす:
 
-- <a href="https://cdn.jsdelivr.net/npm/redoc@2/bundles/redoc.standalone.js" class="external-link" target="_blank">`redoc.standalone.js`</a>
+- [`redoc.standalone.js`](https://cdn.jsdelivr.net/npm/redoc@2/bundles/redoc.standalone.js)
 
 ãã®åŸŒã€ãƒ•ァむル構成は次のようになりたす:
 
@@ -122,7 +122,7 @@ Swagger UI ãŒã“の凊理を裏偎で行いたすが、そのためにこの「
 
 ### é™çš„ファむルのテスト { #test-the-static-files }
 
-アプリケヌションを起動し、<a href="http://127.0.0.1:8000/static/redoc.standalone.js" class="external-link" target="_blank">http://127.0.0.1:8000/static/redoc.standalone.js</a> ã«ã‚¢ã‚¯ã‚»ã‚¹ã—たす。
+アプリケヌションを起動し、[http://127.0.0.1:8000/static/redoc.standalone.js](http://127.0.0.1:8000/static/redoc.standalone.js) ã«ã‚¢ã‚¯ã‚»ã‚¹ã—たす。
 
 **ReDoc** ç”šã®éžåžžã«é•·ã„ JavaScript ãƒ•ァむルが衚瀺されるはずです。
 
@@ -180,6 +180,6 @@ Swagger UI ãŒã“の凊理を裏偎で行いたすが、そのためにこの「
 
 ### é™çš„ファむル UI ã®ãƒ†ã‚¹ãƒˆ { #test-static-files-ui }
 
-これで、WiFi ã‚’切断しお <a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a> ã«ã‚¢ã‚¯ã‚»ã‚¹ã—、ペヌゞを再読み蟌みできるはずです。
+これで、WiFi ã‚’切断しお [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) ã«ã‚¢ã‚¯ã‚»ã‚¹ã—、ペヌゞを再読み蟌みできるはずです。
 
 ã‚€ãƒ³ã‚¿ãƒŒãƒãƒƒãƒˆã«æŽ¥ç¶šã—おいなくおも、API ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’衚瀺し、API ãšå¯Ÿè©±ã§ããŸã™ã€‚
index ae64f31097b325feb6ab186f7ac40c21d076b3bd..d2b0806e444332c1e96ef6d60256b073edeb6030 100644 (file)
@@ -18,7 +18,7 @@ FastAPI ã‚’始めたばかりの堎合は、このセクションは読み飛ば
 
 ãƒŠãƒŒã‚¹ã‚±ãƒŒã‚¹ã®äŸ‹:
 
-* JSON ã§ã¯ãªã„リク゚ストボディを JSON ã«å€‰æ›ã™ã‚‹ïŒˆäŸ‹: <a href="https://msgpack.org/index.html" class="external-link" target="_blank">`msgpack`</a>。
+* JSON ã§ã¯ãªã„リク゚ストボディを JSON ã«å€‰æ›ã™ã‚‹ïŒˆäŸ‹: [`msgpack`](https://msgpack.org/index.html)。
 * gzip åœ§çž®ã•れたリク゚ストボディの解凍。
 * ã™ã¹ãŠã®ãƒªã‚¯ã‚šã‚¹ãƒˆãƒœãƒ‡ã‚£ã®è‡ªå‹•ロギング。
 
@@ -32,7 +32,7 @@ gzip ã®ãƒªã‚¯ã‚šã‚¹ãƒˆã‚’解凍するために、カスタムの `Request` ã‚µ
 
 /// tip | è±†çŸ¥è­˜
 
-これは仕組みを瀺すためのサンプルです。Gzip å¯Ÿå¿œãŒå¿…芁な堎合は、甚意されおいる [`GzipMiddleware`](../advanced/middleware.md#gzipmiddleware){.internal-link target=_blank} ã‚’䜿甚できたす。
+これは仕組みを瀺すためのサンプルです。Gzip å¯Ÿå¿œãŒå¿…芁な堎合は、甚意されおいる [`GzipMiddleware`](../advanced/middleware.md#gzipmiddleware) ã‚’䜿甚できたす。
 
 ///
 
@@ -66,7 +66,7 @@ gzip ã®ãƒªã‚¯ã‚šã‚¹ãƒˆã‚’解凍するために、カスタムの `Request` ã‚µ
 
 ãã—おこの 2 ã€ïŒˆ`scope` ãš `receive`が、新しい `Request` ã‚€ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’䜜成するために必芁なものです。
 
-`Request` ã«ã€ã„お詳しくは、<a href="https://www.starlette.dev/requests/" class="external-link" target="_blank">Starlette ã® Requests ã«é–¢ã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ</a> ã‚’参照しおください。
+`Request` ã«ã€ã„お詳しくは、[Starlette ã® Requests ã«é–¢ã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ](https://www.starlette.dev/requests/) ã‚’参照しおください。
 
 ///
 
@@ -82,7 +82,7 @@ gzip ã®ãƒªã‚¯ã‚šã‚¹ãƒˆã‚’解凍するために、カスタムの `Request` ã‚µ
 
 /// tip | è±†çŸ¥è­˜
 
-同じ問題を解決するには、`RequestValidationError` ç”šã®ã‚«ã‚¹ã‚¿ãƒ ãƒãƒ³ãƒ‰ãƒ©ã§ `body` ã‚’䜿う方がずっず簡単でしょう[゚ラヌ凊理](../tutorial/handling-errors.md#use-the-requestvalidationerror-body){.internal-link target=_blank}。
+同じ問題を解決するには、`RequestValidationError` ç”šã®ã‚«ã‚¹ã‚¿ãƒ ãƒãƒ³ãƒ‰ãƒ©ã§ `body` ã‚’䜿う方がずっず簡単でしょう[゚ラヌ凊理](../tutorial/handling-errors.md#use-the-requestvalidationerror-body)。
 
 ãŸã ã—、この䟋も有効で、内郚コンポヌネントずどのようにやり取りするかを瀺しおいたす。
 
index df5b3cd35a22f7814a749fc37fbe418bb84d419d..e9ef9923fd4381903afb8417782d4c875b5f7f7a 100644 (file)
@@ -37,7 +37,7 @@
 
 äžŠèš˜ã®æƒ…報を䜿っお、同じナヌティリティ関数で OpenAPI ã‚¹ã‚­ãƒŒãƒžã‚’生成し、必芁な郚分を䞊曞きできたす。
 
-たずえば、<a href="https://github.com/Rebilly/ReDoc/blob/master/docs/redoc-vendor-extensions.md#x-logo" class="external-link" target="_blank">カスタムロゎを含めるための ReDoc ã® OpenAPI æ‹¡åŒµ</a>を远加しおみたしょう。
+たずえば、[カスタムロゎを含めるための ReDoc ã® OpenAPI æ‹¡åŒµ](https://github.com/Rebilly/ReDoc/blob/master/docs/redoc-vendor-extensions.md#x-logo)を远加しおみたしょう。
 
 ### é€šåžžã® **FastAPI** { #normal-fastapi }
 
@@ -75,6 +75,6 @@ OpenAPI ã‚¹ã‚­ãƒŒãƒžã® `info`「オブゞェクト」にカスタムの `x-logo
 
 ### ç¢ºèª { #check-it }
 
-<a href="http://127.0.0.1:8000/redoc" class="external-link" target="_blank">http://127.0.0.1:8000/redoc</a> ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšã€ã‚«ã‚¹ã‚¿ãƒ ãƒ­ã‚ŽïŒˆã“の䟋では **FastAPI** ã®ãƒ­ã‚ŽïŒ‰ãŒäœ¿ã‚ã‚ŒãŠã„るこずが確認できたす:
+[http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc) ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšã€ã‚«ã‚¹ã‚¿ãƒ ãƒ­ã‚ŽïŒˆã“の䟋では **FastAPI** ã®ãƒ­ã‚ŽïŒ‰ãŒäœ¿ã‚ã‚ŒãŠã„るこずが確認できたす:
 
 <img src="/img/tutorial/extending-openapi/image01.png">
index 8879c68eb990ba19ea3bd3233f0d62324986132a..ca2de8f3fbf2d8b082305a91a65f20c4ad05d2b3 100644 (file)
@@ -4,36 +4,40 @@
 
 ## ãƒ‡ãƒŒã‚¿ã®ãƒ•ィルタリング - ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ { #filter-data-security }
 
-返すべき以䞊のデヌタを返さないようにするには、[チュヌトリアル - ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãƒ¢ãƒ‡ãƒ« - æˆ»ã‚Šå€€ã®åž‹](../tutorial/response-model.md){.internal-link target=_blank} ã‚’参照しおください。
+返すべき以䞊のデヌタを返さないようにするには、[チュヌトリアル - ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãƒ¢ãƒ‡ãƒ« - æˆ»ã‚Šå€€ã®åž‹](../tutorial/response-model.md) ã‚’参照しおください。
+
+## ãƒ¬ã‚¹ãƒãƒ³ã‚¹æ€§èƒœã®æœ€é©åŒ– - ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãƒ¢ãƒ‡ãƒ« - æˆ»ã‚Šå€€ã®åž‹ { #optimize-response-performance-response-model-return-type }
+
+JSON ãƒ‡ãƒŒã‚¿ã‚’返す際の性胜を最適化するには、戻り倀の型たたはレスポンスモデルを䜿甚しおください。そうするこずで、Pydantic ãŒ Python ã‚’経由せずに Rust åŽã§ JSON ãžã®ã‚·ãƒªã‚¢ãƒ©ã‚€ã‚ºã‚’凊理したす。詳现は [チュヌトリアル - ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãƒ¢ãƒ‡ãƒ« - æˆ»ã‚Šå€€ã®åž‹](../tutorial/response-model.md) ã‚’参照しおください。
 
 ## ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ã‚¿ã‚° - OpenAPI { #documentation-tags-openapi }
 
-*path operations* ã«ã‚¿ã‚°ã‚’远加し、ドキュメント UI ã§ã‚°ãƒ«ãƒŒãƒ—化するには、[チュヌトリアル - path operation ã®èš­å®š - ã‚¿ã‚°](../tutorial/path-operation-configuration.md#tags){.internal-link target=_blank} ã‚’参照しおください。
+*path operations* ã«ã‚¿ã‚°ã‚’远加し、ドキュメント UI ã§ã‚°ãƒ«ãƒŒãƒ—化するには、[チュヌトリアル - path operation ã®èš­å®š - ã‚¿ã‚°](../tutorial/path-operation-configuration.md#tags) ã‚’参照しおください。
 
 ## ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®æŠ‚芁ず説明 - OpenAPI { #documentation-summary-and-description-openapi }
 
-*path operations* ã«æŠ‚芁ず説明を远加し、ドキュメント UI ã«è¡šç€ºã™ã‚‹ã«ã¯ã€[チュヌトリアル - path operation ã®èš­å®š - æŠ‚芁ず説明](../tutorial/path-operation-configuration.md#summary-and-description){.internal-link target=_blank} ã‚’参照しおください。
+*path operations* ã«æŠ‚芁ず説明を远加し、ドキュメント UI ã«è¡šç€ºã™ã‚‹ã«ã¯ã€[チュヌトリアル - path operation ã®èš­å®š - æŠ‚芁ず説明](../tutorial/path-operation-configuration.md#summary-and-description) ã‚’参照しおください。
 
 ## ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹èª¬æ˜Ž - OpenAPI { #documentation-response-description-openapi }
 
-ドキュメント UI ã«è¡šç€ºã•れるレスポンスの説明を定矩するには、[チュヌトリアル - path operation ã®èš­å®š - ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã®èª¬æ˜Ž](../tutorial/path-operation-configuration.md#response-description){.internal-link target=_blank} ã‚’参照しおください。
+ドキュメント UI ã«è¡šç€ºã•れるレスポンスの説明を定矩するには、[チュヌトリアル - path operation ã®èš­å®š - ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã®èª¬æ˜Ž](../tutorial/path-operation-configuration.md#response-description) ã‚’参照しおください。
 
 ## *Path Operation* ã®éžæŽšå¥šåŒ– - OpenAPI { #documentation-deprecate-a-path-operation-openapi }
 
-*path operation* ã‚’非掚奚にし、ドキュメント UI ã«è¡šç€ºã™ã‚‹ã«ã¯ã€[チュヌトリアル - path operation ã®èš­å®š - éžæŽšå¥š](../tutorial/path-operation-configuration.md#deprecate-a-path-operation){.internal-link target=_blank} ã‚’参照しおください。
+*path operation* ã‚’非掚奚にし、ドキュメント UI ã«è¡šç€ºã™ã‚‹ã«ã¯ã€[チュヌトリアル - path operation ã®èš­å®š - éžæŽšå¥š](../tutorial/path-operation-configuration.md#deprecate-a-path-operation) ã‚’参照しおください。
 
 ## ä»»æ„ã®ãƒ‡ãƒŒã‚¿ã‚’ JSON äº’換に倉換 { #convert-any-data-to-json-compatible }
 
-任意のデヌタを JSON äº’換に倉換するには、[チュヌトリアル - JSON äº’換゚ンコヌダ](../tutorial/encoder.md){.internal-link target=_blank} ã‚’参照しおください。
+任意のデヌタを JSON äº’換に倉換するには、[チュヌトリアル - JSON äº’換゚ンコヌダ](../tutorial/encoder.md) ã‚’参照しおください。
 
 ## OpenAPI ãƒ¡ã‚¿ãƒ‡ãƒŒã‚¿ - ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ { #openapi-metadata-docs }
 
-ラむセンス、バヌゞョン、連絡先などを含むメタデヌタを OpenAPI ã‚¹ã‚­ãƒŒãƒžã«è¿œåŠ ã™ã‚‹ã«ã¯ã€[チュヌトリアル - ãƒ¡ã‚¿ãƒ‡ãƒŒã‚¿ãšãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã® URL](../tutorial/metadata.md){.internal-link target=_blank} ã‚’参照しおください。
+ラむセンス、バヌゞョン、連絡先などを含むメタデヌタを OpenAPI ã‚¹ã‚­ãƒŒãƒžã«è¿œåŠ ã™ã‚‹ã«ã¯ã€[チュヌトリアル - ãƒ¡ã‚¿ãƒ‡ãƒŒã‚¿ãšãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã® URL](../tutorial/metadata.md) ã‚’参照しおください。
 
 ## OpenAPI ã®ã‚«ã‚¹ã‚¿ãƒ  URL { #openapi-custom-url }
 
-OpenAPI ã® URL ã‚’カスタマむズたたは削陀するには、[チュヌトリアル - ãƒ¡ã‚¿ãƒ‡ãƒŒã‚¿ãšãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã® URL](../tutorial/metadata.md#openapi-url){.internal-link target=_blank} ã‚’参照しおください。
+OpenAPI ã® URL ã‚’カスタマむズたたは削陀するには、[チュヌトリアル - ãƒ¡ã‚¿ãƒ‡ãƒŒã‚¿ãšãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã® URL](../tutorial/metadata.md#openapi-url) ã‚’参照しおください。
 
 ## OpenAPI ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã® URL { #openapi-docs-urls }
 
-自動生成されるドキュメント UI ãŒäœ¿ç”šã™ã‚‹ URL ã‚’倉曎するには、[チュヌトリアル - ãƒ¡ã‚¿ãƒ‡ãƒŒã‚¿ãšãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã® URL](../tutorial/metadata.md#docs-urls){.internal-link target=_blank} ã‚’参照しおください。
+自動生成されるドキュメント UI ãŒäœ¿ç”šã™ã‚‹ URL ã‚’倉曎するには、[チュヌトリアル - ãƒ¡ã‚¿ãƒ‡ãƒŒã‚¿ãšãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã® URL](../tutorial/metadata.md#docs-urls) ã‚’参照しおください。
index bd0d223498612d1c8cef1b8776ae2fe9c413f11e..d1356b59a912747c862f2448096c5b32ba7c9ce8 100644 (file)
 
 **ASGI** ã‚’サポヌトする **GraphQL** ãƒ©ã‚€ãƒ–ラリの䞀郚を以䞋に瀺したす。**FastAPI** ãšçµ„み合わせお䜿甚できたす:
 
-* <a href="https://strawberry.rocks/" class="external-link" target="_blank">Strawberry</a> ðŸ“
-    * <a href="https://strawberry.rocks/docs/integrations/fastapi" class="external-link" target="_blank">FastAPI å‘けドキュメント</a>あり
-* <a href="https://ariadnegraphql.org/" class="external-link" target="_blank">Ariadne</a>
-    * <a href="https://ariadnegraphql.org/docs/fastapi-integration" class="external-link" target="_blank">FastAPI å‘けドキュメント</a>あり
-* <a href="https://tartiflette.io/" class="external-link" target="_blank">Tartiflette</a>
-    * ASGI é€£æºç”šã® <a href="https://tartiflette.github.io/tartiflette-asgi/" class="external-link" target="_blank">Tartiflette ASGI</a> ã‚り
-* <a href="https://graphene-python.org/" class="external-link" target="_blank">Graphene</a>
-    * <a href="https://github.com/ciscorn/starlette-graphene3" class="external-link" target="_blank">starlette-graphene3</a> ã‚り
+* [Strawberry](https://strawberry.rocks/) ðŸ“
+    * [FastAPI å‘けドキュメント](https://strawberry.rocks/docs/integrations/fastapi)あり
+* [Ariadne](https://ariadnegraphql.org/)
+    * [FastAPI å‘けドキュメント](https://ariadnegraphql.org/docs/fastapi-integration)あり
+* [Tartiflette](https://tartiflette.io/)
+    * ASGI é€£æºç”šã® [Tartiflette ASGI](https://tartiflette.github.io/tartiflette-asgi/) ã‚り
+* [Graphene](https://graphene-python.org/)
+    * [starlette-graphene3](https://github.com/ciscorn/starlette-graphene3) ã‚り
 
 ## Strawberry ã§ GraphQL { #graphql-with-strawberry }
 
-**GraphQL** ãŒå¿…芁、たたは利甚したい堎合は、<a href="https://strawberry.rocks/" class="external-link" target="_blank">**Strawberry**</a> ã‚’**掚奚**したす。**FastAPI** ã®èš­èšˆã«æœ€ã‚‚近く、すべおが**型アノテヌション**に基づいおいたす。
+**GraphQL** ãŒå¿…芁、たたは利甚したい堎合は、[**Strawberry**](https://strawberry.rocks/) ã‚’**掚奚**したす。**FastAPI** ã®èš­èšˆã«æœ€ã‚‚近く、すべおが**型アノテヌション**に基づいおいたす。
 
 ãƒŠãƒŒã‚¹ã‚±ãƒŒã‚¹ã«ã‚ˆã£ãŠã¯ä»–のラむブラリを遞ぶ方がよい堎合もありたすが、私に尋ねられれば、おそらく **Strawberry** ã‚’詊すこずを勧めるでしょう。
 
@@ -37,24 +37,24 @@ FastAPI ãš Strawberry ã‚’統合する方法の簡単なプレビュヌです:
 
 {* ../../docs_src/graphql_/tutorial001_py310.py hl[3,22,25] *}
 
-詳现は <a href="https://strawberry.rocks/" class="external-link" target="_blank">Strawberry ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ</a>をご芧ください。
+詳现は [Strawberry ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ](https://strawberry.rocks/)をご芧ください。
 
-たた、<a href="https://strawberry.rocks/docs/integrations/fastapi" class="external-link" target="_blank">Strawberry ãš FastAPI</a> ã®é€£æºã«é–¢ã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚‚ありたす。
+たた、[Strawberry ãš FastAPI](https://strawberry.rocks/docs/integrations/fastapi) ã®é€£æºã«é–¢ã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚‚ありたす。
 
 ## Starlette ã®æ—§ `GraphQLApp` { #older-graphqlapp-from-starlette }
 
-以前の Starlette ã«ã¯ã€<a href="https://graphene-python.org/" class="external-link" target="_blank">Graphene</a> ãšçµ±åˆã™ã‚‹ãŸã‚ã® `GraphQLApp` ã‚¯ãƒ©ã‚¹ãŒå«ãŸã‚ŒãŠã„たした。
+以前の Starlette ã«ã¯ã€[Graphene](https://graphene-python.org/) ãšçµ±åˆã™ã‚‹ãŸã‚ã® `GraphQLApp` ã‚¯ãƒ©ã‚¹ãŒå«ãŸã‚ŒãŠã„たした。
 
-これは Starlette ã‹ã‚‰ã¯éžæŽšå¥šã«ãªã‚ŠãŸã—たが、もしそれを䜿甚しおいるコヌドがある堎合は、同じナヌスケヌスをカバヌし、**ほが同䞀のむンタヌフェヌス**を持぀ <a href="https://github.com/ciscorn/starlette-graphene3" class="external-link" target="_blank">starlette-graphene3</a> ãžå®¹æ˜“に**移行**できたす。
+これは Starlette ã‹ã‚‰ã¯éžæŽšå¥šã«ãªã‚ŠãŸã—たが、もしそれを䜿甚しおいるコヌドがある堎合は、同じナヌスケヌスをカバヌし、**ほが同䞀のむンタヌフェヌス**を持぀ [starlette-graphene3](https://github.com/ciscorn/starlette-graphene3) ãžå®¹æ˜“に**移行**できたす。
 
 /// tip | è±†çŸ¥è­˜
 
-GraphQL ãŒå¿…芁であれば、䟝然ずしお <a href="https://strawberry.rocks/" class="external-link" target="_blank">Strawberry</a> ã®åˆ©ç”šã‚’掚奚したす。独自のクラスや型ではなく、型アノテヌションに基づいおいるためです。
+GraphQL ãŒå¿…芁であれば、䟝然ずしお [Strawberry](https://strawberry.rocks/) ã®åˆ©ç”šã‚’掚奚したす。独自のクラスや型ではなく、型アノテヌションに基づいおいるためです。
 
 ///
 
 ## ã•らに孊ぶ { #learn-more }
 
-**GraphQL** ã«ã€ã„おは、<a href="https://graphql.org/" class="external-link" target="_blank">公匏 GraphQL ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ</a>でさらに孊べたす。
+**GraphQL** ã«ã€ã„おは、[公匏 GraphQL ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ](https://graphql.org/)でさらに孊べたす。
 
 äžŠèš˜ã®å„ラむブラリに぀いおは、リンク先のドキュメントをご参照ください。
index b1cd177852f083abfced8f40781fcf459824ecc3..9d9348abfc86088f8238be3f0618481999063eb7 100644 (file)
@@ -8,6 +8,6 @@
 
 /// tip | è±†çŸ¥è­˜
 
-**FastAPI ã‚’孊ぶ**こずを䜓系的に進めたい堎合掚奚、代わりに [チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰](../tutorial/index.md){.internal-link target=_blank} ã‚’章ごずに読んでください。
+**FastAPI ã‚’孊ぶ**こずを䜓系的に進めたい堎合掚奚、代わりに [チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰](../tutorial/index.md) ã‚’章ごずに読んでください。
 
 ///
index f1414ac2810310757ab577355fb016f7e61dccde..320be144436af9ca8d47b681c820eb9411e24ac5 100644 (file)
@@ -22,7 +22,7 @@ Python ã®æœ€æ–°æ©Ÿèƒœã‚’䜿いたい堎合は、Pydantic v2 ã‚’䜿甚しおい
 
 ## å…¬åŒã‚¬ã‚€ãƒ‰ { #official-guide }
 
-Pydantic ã«ã¯ v1 ã‹ã‚‰ v2 ãžã®å…¬åŒã® <a href="https://docs.pydantic.dev/latest/migration/" class="external-link" target="_blank">移行ガむド</a> ãŒã‚りたす。
+Pydantic ã«ã¯ v1 ã‹ã‚‰ v2 ãžã®å…¬åŒã® [移行ガむド](https://docs.pydantic.dev/latest/migration/) ãŒã‚りたす。
 
 å€‰æ›Žç‚¹ã€æ€œèšŒãŒã‚ˆã‚Šæ­£ç¢ºã§åŽ³å¯†ã«ãªã£ãŸç‚¹ã€æ³šæ„äº‹é …ãªã©ãŒå«ãŸã‚ŒãŸã™ã€‚
 
@@ -30,7 +30,7 @@ Pydantic ã«ã¯ v1 ã‹ã‚‰ v2 ãžã®å…¬åŒã® <a href="https://docs.pydantic.dev/
 
 ## ãƒ†ã‚¹ãƒˆ { #tests }
 
-アプリに察する[テスト](../tutorial/testing.md){.internal-link target=_blank}を甚意し、継続的むンテグレヌションCIで実行するようにしおください。
+アプリに察する[テスト](../tutorial/testing.md)を甚意し、継続的むンテグレヌションCIで実行するようにしおください。
 
 ã“れにより、アップグレヌド埌も期埅どおり動䜜しおいるこずを確認できたす。
 
@@ -38,7 +38,7 @@ Pydantic ã«ã¯ v1 ã‹ã‚‰ v2 ãžã®å…¬åŒã® <a href="https://docs.pydantic.dev/
 
 å€šãã®å Žåˆã€ã‚«ã‚¹ã‚¿ãƒžã‚€ã‚ºã®ãªã„通垞の Pydantic ãƒ¢ãƒ‡ãƒ«ã‚’䜿っおいれば、v1 ã‹ã‚‰ v2 ãžã®ç§»è¡Œäœœæ¥­ã®å€§åŠã‚’自動化できたす。
 
-同じ Pydantic ãƒãƒŒãƒ ãŒæäŸ›ã™ã‚‹ <a href="https://github.com/pydantic/bump-pydantic" class="external-link" target="_blank">`bump-pydantic`</a> ã‚’䜿甚できたす。
+同じ Pydantic ãƒãƒŒãƒ ãŒæäŸ›ã™ã‚‹ [`bump-pydantic`](https://github.com/pydantic/bump-pydantic) ã‚’䜿甚できたす。
 
 ã“のツヌルは必芁なコヌド倉曎のほずんどを自動で行いたす。
 
@@ -88,7 +88,7 @@ graph TB
     style V2Field fill:#f9fff3
 ```
 
-...but, you can have separated models using Pydantic v1 and v2 in the same app.
+...しかし、同じアプリ内で Pydantic v1 ãš v2 ã‚’別々のモデルずしお分けお䜿うこずは可胜です。
 
 ```mermaid
 graph TB
index af9ad75090b8e342a855ec17ca9f3629419df6b3..76d448e02ab4115f8623375313e0dc28f9bcaede 100644 (file)
@@ -1,7 +1,7 @@
 # ãƒ‡ãƒŒã‚¿ãƒ™ãƒŒã‚¹ã®ãƒ†ã‚¹ãƒˆ { #testing-a-database }
 
-デヌタベヌス、SQL、SQLModel ã«ã€ã„おは、<a href="https://sqlmodel.tiangolo.com/" class="external-link" target="_blank">SQLModel ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ</a>で孊べたす。🀓
+デヌタベヌス、SQL、SQLModel ã«ã€ã„おは、[SQLModel ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ](https://sqlmodel.tiangolo.com/)で孊べたす。🀓
 
-FastAPI ãšäž€ç·’に SQLModel ã‚’䜿うためのミニ <a href="https://sqlmodel.tiangolo.com/tutorial/fastapi/" class="external-link" target="_blank">チュヌトリアル</a>がありたす。✚
+FastAPI ãšäž€ç·’に SQLModel ã‚’䜿うためのミニ [チュヌトリアル](https://sqlmodel.tiangolo.com/tutorial/fastapi/)がありたす。✚
 
-そのチュヌトリアルには、<a href="https://sqlmodel.tiangolo.com/tutorial/fastapi/tests/" class="external-link" target="_blank">SQL ãƒ‡ãƒŒã‚¿ãƒ™ãƒŒã‚¹ã®ãƒ†ã‚¹ãƒˆ</a>に関するセクションも含たれおいたす。😎
+そのチュヌトリアルには、[SQL ãƒ‡ãƒŒã‚¿ãƒ™ãƒŒã‚¹ã®ãƒ†ã‚¹ãƒˆ](https://sqlmodel.tiangolo.com/tutorial/fastapi/tests/)に関するセクションも含たれおいたす。😎
index 90368b4ae3001a8ecfce163899183b064fc7bb2d..a8b9741985001c0477d851f0e03f55c98faa3db9 100644 (file)
     <em>FastAPI ãƒ•レヌムワヌク、高パフォヌマンス、孊びやすい、玠早くコヌディングできる、本番運甚に察応</em>
 </p>
 <p align="center">
-<a href="https://github.com/fastapi/fastapi/actions?query=workflow%3ATest+event%3Apush+branch%3Amaster" target="_blank">
+<a href="https://github.com/fastapi/fastapi/actions?query=workflow%3ATest+event%3Apush+branch%3Amaster">
     <img src="https://github.com/fastapi/fastapi/actions/workflows/test.yml/badge.svg?event=push&branch=master" alt="Test">
 </a>
-<a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/fastapi/fastapi" target="_blank">
+<a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/fastapi/fastapi">
     <img src="https://coverage-badge.samuelcolvin.workers.dev/fastapi/fastapi.svg" alt="Coverage">
 </a>
-<a href="https://pypi.org/project/fastapi" target="_blank">
+<a href="https://pypi.org/project/fastapi">
     <img src="https://img.shields.io/pypi/v/fastapi?color=%2334D058&label=pypi%20package" alt="Package version">
 </a>
-<a href="https://pypi.org/project/fastapi" target="_blank">
+<a href="https://pypi.org/project/fastapi">
     <img src="https://img.shields.io/pypi/pyversions/fastapi.svg?color=%2334D058" alt="Supported Python versions">
 </a>
 </p>
 
 ---
 
-**ドキュメント**: <a href="https://fastapi.tiangolo.com/ja" target="_blank">https://fastapi.tiangolo.com</a>
+**ドキュメント**: [https://fastapi.tiangolo.com/ja](https://fastapi.tiangolo.com/ja)
 
-**゜ヌスコヌド**: <a href="https://github.com/fastapi/fastapi" target="_blank">https://github.com/fastapi/fastapi</a>
+**゜ヌスコヌド**: [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi)
 
 ---
 
@@ -44,7 +44,7 @@ FastAPI ã¯ã€Python ã®æš™æº–である型ヒントに基づいお Python ã§ AP
 * **簡単**: ç°¡å˜ã«åˆ©ç”šãƒ»ç¿’埗できるようにデザむンされおいたす。ドキュメントを読む時間を削枛したす。
 * **短い**: ã‚³ãƒŒãƒ‰ã®é‡è€‡ã‚’最小限にしたす。各パラメヌタ宣蚀から耇数の機胜を埗られたす。バグも枛りたす。
 * **堅牢性**: è‡ªå‹•察話型ドキュメントにより、本番環境向けのコヌドが埗られたす。
-* **Standards-based**: API ã®ã‚ªãƒŒãƒ—ンスタンダヌドに基づいおおりそしお完党に互換性がありたす、<a href="https://github.com/OAI/OpenAPI-Specification" class="external-link" target="_blank">OpenAPI</a>以前は Swagger ãšã—お知られおいたしたや <a href="https://json-schema.org/" class="external-link" target="_blank">JSON Schema</a> ã‚’サポヌトしたす。
+* **Standards-based**: API ã®ã‚ªãƒŒãƒ—ンスタンダヌドに基づいおおりそしお完党に互換性がありたす、[OpenAPI](https://github.com/OAI/OpenAPI-Specification)以前は Swagger ãšã—お知られおいたしたや [JSON Schema](https://json-schema.org/) ã‚’サポヌトしたす。
 
 <small>* æœ¬ç•ªã‚¢ãƒ—リケヌションを構築しおいる瀟内開発チヌムのテストに基づく芋積もりです。</small>
 
@@ -55,51 +55,51 @@ FastAPI ã¯ã€Python ã®æš™æº–である型ヒントに基づいお Python ã§ AP
 ### Keystone Sponsor { #keystone-sponsor }
 
 {% for sponsor in sponsors.keystone -%}
-<a href="{{ sponsor.url }}" target="_blank" title="{{ sponsor.title }}"><img src="{{ sponsor.img }}" style="border-radius:15px"></a>
+<a href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img src="{{ sponsor.img }}" style="border-radius:15px"></a>
 {% endfor -%}
 
 ### Gold and Silver Sponsors { #gold-and-silver-sponsors }
 
 {% for sponsor in sponsors.gold -%}
-<a href="{{ sponsor.url }}" target="_blank" title="{{ sponsor.title }}"><img src="{{ sponsor.img }}" style="border-radius:15px"></a>
+<a href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img src="{{ sponsor.img }}" style="border-radius:15px"></a>
 {% endfor -%}
 {%- for sponsor in sponsors.silver -%}
-<a href="{{ sponsor.url }}" target="_blank" title="{{ sponsor.title }}"><img src="{{ sponsor.img }}" style="border-radius:15px"></a>
+<a href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img src="{{ sponsor.img }}" style="border-radius:15px"></a>
 {% endfor %}
 
 <!-- /sponsors -->
 
-<a href="https://fastapi.tiangolo.com/ja/fastapi-people/#sponsors" class="external-link" target="_blank">その他のスポンサヌ</a>
+[その他のスポンサヌ](https://fastapi.tiangolo.com/ja/fastapi-people/#sponsors)
 
 ## è©•䟡 { #opinions }
 
 "_[...] æœ€è¿‘ **FastAPI** ã‚’䜿っおいたす。 [...] å®Ÿéš›ã«ç§ã®ãƒãƒŒãƒ ã®å…šãŠã® **Microsoft ã®æ©Ÿæ¢°å­Šç¿’サヌビス** ã§äœ¿ç”šã™ã‚‹äºˆå®šã§ã™ã€‚ ãã®ã†ã¡ã®ã„く぀かのコアな **Windows** è£œå“ãš **Office** è£œå“ã«çµ±åˆã•れ぀぀ありたす。_"
 
-<div style="text-align: right; margin-right: 10%;">Kabir Khan - <strong>Microsoft</strong> <a href="https://github.com/fastapi/fastapi/pull/26" target="_blank"><small>(ref)</small></a></div>
+<div style="text-align: right; margin-right: 10%;">Kabir Khan - <strong>Microsoft</strong> <a href="https://github.com/fastapi/fastapi/pull/26"><small>(ref)</small></a></div>
 
 ---
 
 "_FastAPIラむブラリを採甚し、ク゚リで **予枬倀** ã‚’取埗できる **REST** ã‚µãƒŒãƒã‚’構築したした。 [for Ludwig]_"
 
-<div style="text-align: right; margin-right: 10%;">Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala - <strong>Uber</strong> <a href="https://eng.uber.com/ludwig-v0-2/" target="_blank"><small>(ref)</small></a></div>
+<div style="text-align: right; margin-right: 10%;">Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala - <strong>Uber</strong> <a href="https://eng.uber.com/ludwig-v0-2/"><small>(ref)</small></a></div>
 
 ---
 
 "_**Netflix** ã¯ã€**危機管理**オヌケストレヌションフレヌムワヌク、**Dispatch** ã®ã‚ªãƒŒãƒ—ン゜ヌスリリヌスを発衚できるこずをうれしく思いたす。 [built with **FastAPI**]_"
 
-<div style="text-align: right; margin-right: 10%;">Kevin Glisson, Marc Vilanova, Forest Monsen - <strong>Netflix</strong> <a href="https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072" target="_blank"><small>(ref)</small></a></div>
+<div style="text-align: right; margin-right: 10%;">Kevin Glisson, Marc Vilanova, Forest Monsen - <strong>Netflix</strong> <a href="https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072"><small>(ref)</small></a></div>
 
 ---
 
 "_私は **FastAPI** ã«ãƒ¯ã‚¯ãƒ¯ã‚¯ã—おいたす。 ã‚ã¡ã‚ƒãã¡ã‚ƒæ¥œã—いです_"
 
-<div style="text-align: right; margin-right: 10%;">Brian Okken - <strong><a href="https://pythonbytes.fm/episodes/show/123/time-to-right-the-py-wrongs?time_in_sec=855" target="_blank">Python Bytes</a> podcast host</strong> <a href="https://x.com/brianokken/status/1112220079972728832" target="_blank"><small>(ref)</small></a></div>
+<div style="text-align: right; margin-right: 10%;">Brian Okken - <strong>[Python Bytes](https://pythonbytes.fm/episodes/show/123/time-to-right-the-py-wrongs?time_in_sec=855) podcast host</strong> <a href="https://x.com/brianokken/status/1112220079972728832"><small>(ref)</small></a></div>
 
 ---
 
 "_正盎、あなたが䜜ったものは超堅実で掗緎されおいるように芋えたす。いろんな意味で、それは私が **Hug** ã«ãã†ãªã£ãŠã»ã—かったものです。誰かがそれを䜜るのを芋るのは本圓に刺激的です。_"
 
-<div style="text-align: right; margin-right: 10%;">Timothy Crosley - <strong><a href="https://github.com/hugapi/hug" target="_blank">Hug</a> creator</strong> <a href="https://news.ycombinator.com/item?id=19455465" target="_blank"><small>(ref)</small></a></div>
+<div style="text-align: right; margin-right: 10%;">Timothy Crosley - <strong>[Hug](https://github.com/hugapi/hug) creator</strong> <a href="https://news.ycombinator.com/item?id=19455465"><small>(ref)</small></a></div>
 
 ---
 
@@ -107,27 +107,27 @@ FastAPI ã¯ã€Python ã®æš™æº–である型ヒントに基づいお Python ã§ AP
 
 "_私たちの **API** ã¯ **FastAPI** ã«åˆ‡ã‚Šæ›¿ãˆãŸã—た [...] ãã£ãšæ°—に入るず思いたす [...]_"
 
-<div style="text-align: right; margin-right: 10%;">Ines Montani - Matthew Honnibal - <strong><a href="https://explosion.ai" target="_blank">Explosion AI</a> founders - <a href="https://spacy.io" target="_blank">spaCy</a> creators</strong> <a href="https://x.com/_inesmontani/status/1144173225322143744" target="_blank"><small>(ref)</small></a> - <a href="https://x.com/honnibal/status/1144031421859655680" target="_blank"><small>(ref)</small></a></div>
+<div style="text-align: right; margin-right: 10%;">Ines Montani - Matthew Honnibal - <strong>[Explosion AI](https://explosion.ai) founders - [spaCy](https://spacy.io) creators</strong> <a href="https://x.com/_inesmontani/status/1144173225322143744"><small>(ref)</small></a> - <a href="https://x.com/honnibal/status/1144031421859655680"><small>(ref)</small></a></div>
 
 ---
 
 "_本番運甚の Python API ã‚’構築したい方には、**FastAPI** ã‚’匷くおすすめしたす。**矎しく蚭蚈**されおおり、**䜿いやすく**、**高いスケヌラビリティ**がありたす。私たちの API ãƒ•ァヌスト開発戊略の **䞻芁コンポヌネント** ãšãªã‚Šã€Virtual TAC Engineer ãªã©ã®å€šãã®è‡ªå‹•化やサヌビスを掚進しおいたす。_"
 
-<div style="text-align: right; margin-right: 10%;">Deon Pillsbury - <strong>Cisco</strong> <a href="https://www.linkedin.com/posts/deonpillsbury_cisco-cx-python-activity-6963242628536487936-trAp/" target="_blank"><small>(ref)</small></a></div>
+<div style="text-align: right; margin-right: 10%;">Deon Pillsbury - <strong>Cisco</strong> <a href="https://www.linkedin.com/posts/deonpillsbury_cisco-cx-python-activity-6963242628536487936-trAp/"><small>(ref)</small></a></div>
 
 ---
 
 ## FastAPI ãƒŸãƒ‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ã‚¿ãƒªãƒŒ { #fastapi-mini-documentary }
 
-2025 å¹Žæœ«ã«å…¬é–‹ã•れた <a href="https://www.youtube.com/watch?v=mpR8ngthqiE" class="external-link" target="_blank">FastAPI ãƒŸãƒ‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ã‚¿ãƒªãƒŒ</a>がありたす。オンラむンで芖聎できたす:
+2025 å¹Žæœ«ã«å…¬é–‹ã•れた [FastAPI ãƒŸãƒ‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ã‚¿ãƒªãƒŒ](https://www.youtube.com/watch?v=mpR8ngthqiE)がありたす。オンラむンで芖聎できたす:
 
-<a href="https://www.youtube.com/watch?v=mpR8ngthqiE" target="_blank"><img src="https://fastapi.tiangolo.com/img/fastapi-documentary.jpg" alt="FastAPI Mini Documentary"></a>
+<a href="https://www.youtube.com/watch?v=mpR8ngthqiE"><img src="https://fastapi.tiangolo.com/img/fastapi-documentary.jpg" alt="FastAPI Mini Documentary"></a>
 
 ## **Typer**、CLI ç‰ˆ FastAPI { #typer-the-fastapi-of-clis }
 
-<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>
+<a href="https://typer.tiangolo.com"><img src="https://typer.tiangolo.com/img/logo-margin/logo-margin-vector.svg" style="width: 20%;"></a>
 
-Web API ã®ä»£ã‚ã‚Šã«ã‚¿ãƒŒãƒŸãƒŠãƒ«ã§äœ¿ç”šã™ã‚‹ <abbr title="Command Line Interface - ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚€ãƒ³ã‚€ãƒ³ã‚¿ãƒŒãƒ•ェむス">CLI</abbr> ã‚¢ãƒ—リを構築する堎合は、<a href="https://typer.tiangolo.com/" class="external-link" target="_blank">**Typer**</a> ã‚’確認しおください。
+Web API ã®ä»£ã‚ã‚Šã«ã‚¿ãƒŒãƒŸãƒŠãƒ«ã§äœ¿ç”šã™ã‚‹ <abbr title="Command Line Interface - ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚€ãƒ³ã‚€ãƒ³ã‚¿ãƒŒãƒ•ェむス">CLI</abbr> ã‚¢ãƒ—リを構築する堎合は、[**Typer**](https://typer.tiangolo.com/) ã‚’確認しおください。
 
 **Typer** ã¯ FastAPI ã®åŒŸåˆ†ã§ã™ã€‚そしお、**CLI ç‰ˆ FastAPI** ã‚’意図しおいたす。 âŒšïž ðŸš€
 
@@ -135,12 +135,12 @@ Web API ã®ä»£ã‚ã‚Šã«ã‚¿ãƒŒãƒŸãƒŠãƒ«ã§äœ¿ç”šã™ã‚‹ <abbr title="Command Line
 
 FastAPI ã¯å·šäººã®è‚©ã®äžŠã«ç«‹ã£ãŠã„たす。
 
-* Web ã®éƒšåˆ†ã¯ <a href="https://www.starlette.dev/" class="external-link" target="_blank">Starlette</a>
-* ãƒ‡ãƒŒã‚¿ã®éƒšåˆ†ã¯ <a href="https://docs.pydantic.dev/" class="external-link" target="_blank">Pydantic</a>
+* [Starlette](https://www.starlette.dev/)Web éƒšåˆ†ïŒ‰
+* [Pydantic](https://docs.pydantic.dev/)デヌタ郚分
 
 ## ã‚€ãƒ³ã‚¹ãƒˆãƒŒãƒ« { #installation }
 
-<a href="https://fastapi.tiangolo.com/ja/virtual-environments/" class="external-link" target="_blank">virtual environment</a> ã‚’䜜成しお有効化し、それから FastAPI ã‚’むンストヌルしたす。
+[仮想環境](https://fastapi.tiangolo.com/ja/virtual-environments/) ã‚’䜜成しお有効化し、それから FastAPI ã‚’むンストヌルしたす。
 
 <div class="termy">
 
@@ -199,7 +199,7 @@ async def read_item(item_id: int, q: str | None = None):
 
 **泚**:
 
-わからない堎合は、<a href="https://fastapi.tiangolo.com/ja/async/#in-a-hurry" target="_blank">ドキュメントの `async` ãš `await` ã® _"In a hurry?"_ ã‚»ã‚¯ã‚·ãƒ§ãƒ³</a>を確認しおください。
+わからない堎合は、_「In a hurry?」_ ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã® [ドキュメントの `async` ãš `await`](https://fastapi.tiangolo.com/ja/async/#in-a-hurry) ã‚’確認しおください。
 
 </details>
 
@@ -210,7 +210,7 @@ async def read_item(item_id: int, q: str | None = None):
 <div class="termy">
 
 ```console
-$ fastapi dev main.py
+$ fastapi dev
 
  â•­â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ FastAPI CLI - Development mode â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â•®
  â”‚                                                     â”‚
@@ -235,19 +235,19 @@ INFO:     Application startup complete.
 </div>
 
 <details markdown="1">
-<summary><code>fastapi dev main.py</code> ã‚³ãƒžãƒ³ãƒ‰ã«ã€ã„お</summary>
+<summary><code>fastapi dev</code> ã‚³ãƒžãƒ³ãƒ‰ã«ã€ã„お</summary>
 
-`fastapi dev` Ã£\82³ã\83\9eã\83³ã\83\89ã\81¯ `main.py` Ã£\83\95ã\82¡ã\82ۋ\83«ã\82\92Úª­ã\81¿å\8f\96ã\82\8aã\80\81ã\81\9dã\81®Àž­ã\81® **FastAPI** Ã£\82¢ã\83\97ã\83ªã\82\92ʀ\9cÃ¥\87ºã\81\97ã\80\81<a href="https://www.uvicorn.dev" class="external-link" target="_blank">Uvicorn</a> ã‚’䜿甚しおサヌバヌを起動したす。
+`fastapi dev` Ã£\82³ã\83\9eã\83³ã\83\89ã\81¯ `main.py` Ã£\83\95ã\82¡ã\82ۋ\83«ã\82\92Ú\87ªå\8b\95ç\9a\84ã\81«Úª­ã\81¿å\8f\96ã\82\8aã\80\81ã\81\9dã\81®Àž­ã\81® **FastAPI** Ã£\82¢ã\83\97ã\83ªã\82\92ʀ\9cÃ¥\87ºã\81\97ã\80\81[Uvicorn](https://www.uvicorn.dev) ã‚’䜿甚しおサヌバヌを起動したす。
 
 ãƒ‡ãƒ•ォルトでは、`fastapi dev` ã¯ãƒ­ãƒŒã‚«ãƒ«é–‹ç™ºå‘けに自動リロヌドを有効にしお起動したす。
 
-詳しくは <a href="https://fastapi.tiangolo.com/ja/fastapi-cli/" target="_blank">FastAPI CLI docs</a> ã‚’参照しおください。
+詳しくは [FastAPI CLI docs](https://fastapi.tiangolo.com/ja/fastapi-cli/) ã‚’参照しおください。
 
 </details>
 
 ### å‹•䜜確認 { #check-it }
 
-ブラりザで <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> ã‚’開きたす。
+ブラりザで [http://127.0.0.1:8000/items/5?q=somequery](http://127.0.0.1:8000/items/5?q=somequery) ã‚’開きたす。
 
 ä»¥äž‹ã® JSON ã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãŒç¢ºèªã§ããŸã™ã€‚
 
@@ -264,17 +264,17 @@ INFO:     Application startup complete.
 
 ### è‡ªå‹•察話型 API ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ { #interactive-api-docs }
 
-次に、<a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a> ã«ã‚¢ã‚¯ã‚»ã‚¹ã—たす。
+次に、[http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) ã«ã‚¢ã‚¯ã‚»ã‚¹ã—たす。
 
-自動察話型 API ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒè¡šç€ºã•れたす<a href="https://github.com/swagger-api/swagger-ui" class="external-link" target="_blank">Swagger UI</a> ãŒæäŸ›ã—おいたす。
+自動察話型 API ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒè¡šç€ºã•れたす[Swagger UI](https://github.com/swagger-api/swagger-ui) ãŒæäŸ›ã—おいたす。
 
 ![Swagger UI](https://fastapi.tiangolo.com/img/index/index-01-swagger-ui-simple.png)
 
 ### ä»£æ›¿ API ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ { #alternative-api-docs }
 
-次に、<a href="http://127.0.0.1:8000/redoc" class="external-link" target="_blank">http://127.0.0.1:8000/redoc</a> ã«ã‚¢ã‚¯ã‚»ã‚¹ã—たす。
+次に、[http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc) ã«ã‚¢ã‚¯ã‚»ã‚¹ã—たす。
 
-代替の自動ドキュメントが衚瀺されたす<a href="https://github.com/Rebilly/ReDoc" class="external-link" target="_blank">ReDoc</a> ãŒæäŸ›ã—おいたす。
+代替の自動ドキュメントが衚瀺されたす[ReDoc](https://github.com/Rebilly/ReDoc) ãŒæäŸ›ã—おいたす。
 
 ![ReDoc](https://fastapi.tiangolo.com/img/index/index-02-redoc-simple.png)
 
@@ -316,7 +316,7 @@ def update_item(item_id: int, item: Item):
 
 ### è‡ªå‹•察話型 API ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ã‚¢ãƒƒãƒ—グレヌド { #interactive-api-docs-upgrade }
 
-次に、<a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a> ã«ã‚¢ã‚¯ã‚»ã‚¹ã—たす。
+次に、[http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) ã«ã‚¢ã‚¯ã‚»ã‚¹ã—たす。
 
 * è‡ªå‹•察話型 API ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã¯æ–°ã—いボディも含めお自動でアップデヌトされたす。
 
@@ -332,7 +332,7 @@ def update_item(item_id: int, item: Item):
 
 ### ä»£æ›¿ API ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã®ã‚¢ãƒƒãƒ—グレヌド { #alternative-api-docs-upgrade }
 
-次に、<a href="http://127.0.0.1:8000/redoc" class="external-link" target="_blank">http://127.0.0.1:8000/redoc</a> ã«ã‚¢ã‚¯ã‚»ã‚¹ã—たす。
+次に、[http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc) ã«ã‚¢ã‚¯ã‚»ã‚¹ã—たす。
 
 * ä»£æ›¿ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã«ã‚‚新しいク゚リパラメヌタやボディが反映されたす。
 
@@ -442,7 +442,7 @@ item: Item
 * éžåžžã«åŒ·åŠ›ã§äœ¿ã„ã‚„ã™ã„ **<dfn title="別名: components、resources、providers、services、injectables">䟝存性泚入</dfn>** ã‚·ã‚¹ãƒ†ãƒ ã€‚
 * **JWT ãƒˆãƒŒã‚¯ãƒ³**を甚いた **OAuth2** ã‚„ **HTTP Basic** èªèšŒã®ã‚µãƒãƒŒãƒˆã‚’含む、セキュリティず認蚌。
 * **深くネストされた JSON ãƒ¢ãƒ‡ãƒ«**を宣蚀するための、より高床なしかし同様に簡単な手法Pydantic ã®ãŠã‹ã’です。
-* <a href="https://strawberry.rocks" class="external-link" target="_blank">Strawberry</a> ãŠã‚ˆã³ä»–のラむブラリによる **GraphQL** çµ±åˆã€‚
+* [Strawberry](https://strawberry.rocks) ãŠã‚ˆã³ä»–のラむブラリによる **GraphQL** çµ±åˆã€‚
 * ä»¥äž‹ã®ã‚ˆã†ãªãŸãã•んのおたけ機胜Starlette ã®ãŠã‹ã’です:
     * **WebSockets**
     * HTTPX ãš `pytest` ã«åŸºã¥ãæ¥µã‚ãŠç°¡å˜ãªãƒ†ã‚¹ãƒˆ
@@ -452,24 +452,10 @@ item: Item
 
 ### ã‚¢ãƒ—リをデプロむ任意 { #deploy-your-app-optional }
 
-必芁に応じお FastAPI ã‚¢ãƒ—リを <a href="https://fastapicloud.com" class="external-link" target="_blank">FastAPI Cloud</a> ã«ãƒ‡ãƒ—ロむできたす。ただの堎合はりェむティングリストに参加しおください。 ðŸš€
+必芁に応じお FastAPI ã‚¢ãƒ—リを [FastAPI Cloud](https://fastapicloud.com) ã«ãƒ‡ãƒ—ロむできたす。ただの堎合はりェむティングリストに参加しおください。 ðŸš€
 
 ã™ã§ã« **FastAPI Cloud** ã‚¢ã‚«ã‚Šãƒ³ãƒˆïŒˆã‚Šã‚§ã‚€ãƒ†ã‚£ãƒ³ã‚°ãƒªã‚¹ãƒˆã‹ã‚‰æ‹›åŸ…されたした ðŸ˜‰ïŒ‰ãŒã‚る堎合は、1 ã‚³ãƒžãƒ³ãƒ‰ã§ã‚¢ãƒ—リケヌションをデプロむできたす。
 
-デプロむ前に、ログむンしおいるこずを確認しおください。
-
-<div class="termy">
-
-```console
-$ fastapi login
-
-You are logged in to FastAPI Cloud ðŸš€
-```
-
-</div>
-
-次に、アプリをデプロむしたす。
-
 <div class="termy">
 
 ```console
@@ -488,7 +474,7 @@ Deploying to FastAPI Cloud...
 
 #### FastAPI Cloud ã«ã€ã„お { #about-fastapi-cloud }
 
-**<a href="https://fastapicloud.com" class="external-link" target="_blank">FastAPI Cloud</a>** ã¯ **FastAPI** ã®äœœè€…ず同じチヌムによっお䜜られおいたす。
+**[FastAPI Cloud](https://fastapicloud.com)** ã¯ **FastAPI** ã®äœœè€…ず同じチヌムによっお䜜られおいたす。
 
 æœ€å°é™ã®åŠŽåŠ›ã§ API ã‚’ **構築**、**デプロむ**、**アクセス** ã™ã‚‹ãŸã‚ã®ãƒ—ロセスを効率化したす。
 
@@ -504,9 +490,9 @@ FastAPI ã¯ã‚ªãƒŒãƒ—ン゜ヌスであり、暙準に基づいおいたす。遞
 
 ## ãƒ‘フォヌマンス { #performance }
 
-独立した 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">利甚可胜な最も高速な Python ãƒ•レヌムワヌクの䞀぀</a>であり、Starlette ãš UvicornFastAPI ã§å†…郚的に䜿甚されおいたすにのみ䞋回っおいるず瀺されおいたす。*
+独立した TechEmpower ã®ãƒ™ãƒ³ãƒãƒžãƒŒã‚¯ã§ã¯ã€Uvicorn ã§å‹•䜜する **FastAPI** ã‚¢ãƒ—リケヌションが、[利甚可胜な最も高速な Python ãƒ•レヌムワヌクの䞀぀](https://www.techempower.com/benchmarks/#section=test&runid=7464e520-0dc2-473d-bd34-dbdfd7e85911&hw=ph&test=query&l=zijzen-7)であり、Starlette ãš UvicornFastAPI ã§å†…郚的に䜿甚されおいたすにのみ䞋回っおいるず瀺されおいたす。*
 
-詳现は <a href="https://fastapi.tiangolo.com/ja/benchmarks/" class="internal-link" target="_blank">Benchmarks</a> ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’ご芧ください。
+詳现は [Benchmarks](https://fastapi.tiangolo.com/ja/benchmarks/) ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’ご芧ください。
 
 ## äŸå­˜é–¢ä¿‚ { #dependencies }
 
@@ -518,19 +504,19 @@ FastAPI ã‚’ `pip install "fastapi[standard]"` ã§ã‚€ãƒ³ã‚¹ãƒˆãƒŒãƒ«ã™ã‚‹ãšã€`
 
 Pydantic ã«ã‚ˆã£ãŠäœ¿ç”šã•れるもの:
 
-* <a href="https://github.com/JoshData/python-email-validator" target="_blank"><code>email-validator</code></a> - ãƒ¡ãƒŒãƒ«æ€œèšŒã®ãŸã‚ã€‚
+* [`email-validator`](https://github.com/JoshData/python-email-validator) - ãƒ¡ãƒŒãƒ«æ€œèšŒã®ãŸã‚ã€‚
 
 Starlette ã«ã‚ˆã£ãŠäœ¿ç”šã•れるもの:
 
-* <a href="https://www.python-httpx.org" target="_blank"><code>httpx</code></a> - `TestClient` ã‚’䜿甚したい堎合に必芁です。
-* <a href="https://jinja.palletsprojects.com" target="_blank"><code>jinja2</code></a> - ãƒ‡ãƒ•ォルトのテンプレヌト蚭定を䜿甚したい堎合に必芁です。
-* <a href="https://github.com/Kludex/python-multipart" target="_blank"><code>python-multipart</code></a> - `request.form()` ãšãšã‚‚に、フォヌムの <dfn title="HTTP ãƒªã‚¯ã‚šã‚¹ãƒˆã‹ã‚‰å±Šãæ–‡å­—列を Python ãƒ‡ãƒŒã‚¿ã«å€‰æ›ã™ã‚‹ã“ず">「parsing」</dfn> ã‚’サポヌトしたい堎合に必芁です。
+* [`httpx`](https://www.python-httpx.org) - `TestClient` ã‚’䜿甚したい堎合に必芁です。
+* [`jinja2`](https://jinja.palletsprojects.com) - ãƒ‡ãƒ•ォルトのテンプレヌト蚭定を䜿甚したい堎合に必芁です。
+* [`python-multipart`](https://github.com/Kludex/python-multipart) - `request.form()` ãšãšã‚‚に、フォヌムの <dfn title="HTTP ãƒªã‚¯ã‚šã‚¹ãƒˆã‹ã‚‰å±Šãæ–‡å­—列を Python ãƒ‡ãƒŒã‚¿ã«å€‰æ›ã™ã‚‹ã“ず">「parsing」</dfn> ã‚’サポヌトしたい堎合に必芁です。
 
 FastAPI ã«ã‚ˆã£ãŠäœ¿ç”šã•れるもの:
 
-* <a href="https://www.uvicorn.dev" target="_blank"><code>uvicorn</code></a> - ã‚¢ãƒ—リケヌションをロヌドしお提䟛するサヌバヌのため。これには `uvicorn[standard]` ã‚‚含たれ、高性胜なサヌビングに必芁な䟝存関係䟋: `uvloop`が含たれたす。
+* [`uvicorn`](https://www.uvicorn.dev) - ã‚¢ãƒ—リケヌションをロヌドしお提䟛するサヌバヌのため。これには `uvicorn[standard]` ã‚‚含たれ、高性胜なサヌビングに必芁な䟝存関係䟋: `uvloop`が含たれたす。
 * `fastapi-cli[standard]` - `fastapi` ã‚³ãƒžãƒ³ãƒ‰ã‚’提䟛したす。
-    * ã“れには `fastapi-cloud-cli` ãŒå«ãŸã‚Œã€FastAPI ã‚¢ãƒ—リケヌションを <a href="https://fastapicloud.com" class="external-link" target="_blank">FastAPI Cloud</a> ã«ãƒ‡ãƒ—ロむできたす。
+    * ã“れには `fastapi-cloud-cli` ãŒå«ãŸã‚Œã€FastAPI ã‚¢ãƒ—リケヌションを [FastAPI Cloud](https://fastapicloud.com) ã«ãƒ‡ãƒ—ロむできたす。
 
 ### `standard` äŸå­˜é–¢ä¿‚なし { #without-standard-dependencies }
 
@@ -546,13 +532,13 @@ FastAPI ã«ã‚ˆã£ãŠäœ¿ç”šã•れるもの:
 
 è¿œåŠ ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ Pydantic äŸå­˜é–¢ä¿‚:
 
-* <a href="https://docs.pydantic.dev/latest/usage/pydantic_settings/" target="_blank"><code>pydantic-settings</code></a> - èš­å®šç®¡ç†ã®ãŸã‚ã€‚
-* <a href="https://docs.pydantic.dev/latest/usage/types/extra_types/extra_types/" target="_blank"><code>pydantic-extra-types</code></a> - Pydantic ã§äœ¿ç”šã™ã‚‹è¿œåŠ ã®åž‹ã®ãŸã‚ã€‚
+* [`pydantic-settings`](https://docs.pydantic.dev/latest/usage/pydantic_settings/) - èš­å®šç®¡ç†ã®ãŸã‚ã€‚
+* [`pydantic-extra-types`](https://docs.pydantic.dev/latest/usage/types/extra_types/extra_types/) - Pydantic ã§äœ¿ç”šã™ã‚‹è¿œåŠ ã®åž‹ã®ãŸã‚ã€‚
 
 è¿œåŠ ã®ã‚ªãƒ—ã‚·ãƒ§ãƒ³ FastAPI äŸå­˜é–¢ä¿‚:
 
-* <a href="https://github.com/ijl/orjson" target="_blank"><code>orjson</code></a> - `ORJSONResponse` ã‚’䜿甚したい堎合に必芁です。
-* <a href="https://github.com/esnme/ultrajson" target="_blank"><code>ujson</code></a> - `UJSONResponse` ã‚’䜿甚したい堎合に必芁です。
+* [`orjson`](https://github.com/ijl/orjson) - `ORJSONResponse` ã‚’䜿甚したい堎合に必芁です。
+* [`ujson`](https://github.com/esnme/ultrajson) - `UJSONResponse` ã‚’䜿甚したい堎合に必芁です。
 
 ## ãƒ©ã‚€ã‚»ãƒ³ã‚¹ { #license }
 
index c930fb557c76a3f6ab97119e454064077dc6225c..b6550e3ac347a1b3ba2e87643def87d81beec361 100644 (file)
@@ -4,7 +4,7 @@
 
 ã“のテンプレヌトを䜿っお開始できたす。初期セットアップ、セキュリティ、デヌタベヌス、いく぀かのAPI゚ンドポむントがすでに甚意されおいたす。
 
-GitHubリポゞトリ: <a href="https://github.com/tiangolo/full-stack-fastapi-template" class="external-link" target="_blank">Full Stack FastAPI Template</a>
+GitHubリポゞトリ: [Full Stack FastAPI Template](https://github.com/tiangolo/full-stack-fastapi-template)
 
 ## Full Stack FastAPI ãƒ†ãƒ³ãƒ—レヌト - æŠ€è¡“スタックず機胜 { #full-stack-fastapi-template-technology-stack-and-features }
 
index a6b46c256da271c39e2ee7969012c25609482c38..67336c31ef7162795f3d485f13e125d5def52a7b 100644 (file)
@@ -231,7 +231,7 @@ def some_function(data: Any):
 {!> ../../docs_src/python_types/tutorial008b_py310.py!}
 ```
 
-これは `item` ãŒ `int` ãŸãŸã¯ `str` ã«ãªã‚ŠåŸ—るこずを意味したす.
+これは `item` ãŒ `int` ãŸãŸã¯ `str` ã«ãªã‚ŠåŸ—るこずを意味したす。
 
 #### `None` ã®å¯èƒœæ€§ { #possibly-none }
 
@@ -269,7 +269,7 @@ def some_function(data: Any):
 
 ## Pydantic ã®ãƒ¢ãƒ‡ãƒ« { #pydantic-models }
 
-<a href="https://docs.pydantic.dev/" class="external-link" target="_blank">Pydantic</a> ã¯ãƒ‡ãƒŒã‚¿æ€œèšŒã‚’行うための Python ãƒ©ã‚€ãƒ–ラリです。
+[Pydantic](https://docs.pydantic.dev/) ã¯ãƒ‡ãƒŒã‚¿æ€œèšŒã‚’行うための Python ãƒ©ã‚€ãƒ–ラリです。
 
 ãƒ‡ãƒŒã‚¿ã®ã€Œåœ¢ã€ã‚’属性付きのクラスずしお宣蚀したす。
 
@@ -285,13 +285,13 @@ Pydantic ã®å…¬åŒãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‹ã‚‰ã®äŸ‹:
 
 /// info | æƒ…å ±
 
-<a href="https://docs.pydantic.dev/" class="external-link" target="_blank">Pydantic ã®è©³çŽ°ã¯ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’å‚ç…§ã—ãŠãã ã•ã„</a>。
+[ Pydantic ã®è©³çŽ°ã¯ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’å‚ç…§ã—ãŠãã ã•ã„](https://docs.pydantic.dev/)。
 
 ///
 
 **FastAPI** ã¯ã™ã¹ãŠ Pydantic ã‚’ベヌスにしおいたす。
 
-すべおのこずは [チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰](tutorial/index.md){.internal-link target=_blank} ã§å®Ÿéš›ã«èŠ‹ã‚‹ã“ãšãŒã§ããŸã™ã€‚
+すべおのこずは [チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰](tutorial/index.md) ã§å®Ÿéš›ã«èŠ‹ã‚‹ã“ãšãŒã§ããŸã™ã€‚
 
 ## ãƒ¡ã‚¿ãƒ‡ãƒŒã‚¿ã‚¢ãƒŽãƒ†ãƒŒã‚·ãƒ§ãƒ³ä»˜ãåž‹ãƒ’ント { #type-hints-with-metadata-annotations }
 
@@ -337,12 +337,12 @@ Python è‡ªäœ“は、この `Annotated` ã§äœ•かをするわけではありたせ
 * OpenAPI ã‚’䜿甚しお API ã‚’ **ドキュメント化** ã—たす:
     * ã“れは自動の察話型ドキュメントのナヌザヌむンタヌフェむスで䜿われたす。
 
-すべおが抜象的に聞こえるかもしれたせん。心配しないでください。 ã“の党おの動䜜は [チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰](tutorial/index.md){.internal-link target=_blank} ã§èŠ‹ã‚‹ã“ãšãŒã§ããŸã™ã€‚
+すべおが抜象的に聞こえるかもしれたせん。心配しないでください。 ã“の党おの動䜜は [チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰](tutorial/index.md) ã§èŠ‹ã‚‹ã“ãšãŒã§ããŸã™ã€‚
 
 é‡èŠãªã®ã¯ã€Python ã®æš™æº–的な型を䜿うこずで、クラスやデコレヌタなどを远加するのではなく1 ã€ã®å Žæ‰€ã§ **FastAPI** ãŒå€šãã®äœœæ¥­ã‚’代わりにやっおくれおいるずいうこずです。
 
 /// info | æƒ…å ±
 
-すでにすべおのチュヌトリアルを終えお、型に぀いおの詳现を芋るためにこのペヌゞに戻っおきた堎合は、良いリ゜ヌスずしお <a href="https://mypy.readthedocs.io/en/latest/cheat_sheet_py3.html" class="external-link" target="_blank">`mypy` ã®ã€ŒãƒãƒŒãƒˆã‚·ãƒŒãƒˆã€</a> ãŒã‚りたす。
+すでにすべおのチュヌトリアルを終えお、型に぀いおの詳现を芋るためにこのペヌゞに戻っおきた堎合は、良いリ゜ヌスずしお [`mypy` ã®ã€ŒãƒãƒŒãƒˆã‚·ãƒŒãƒˆ`](https://mypy.readthedocs.io/en/latest/cheat_sheet_py3.html) ãŒã‚りたす。
 
 ///
index d32c141b5bc9bbd04e854518852215ec8652e45d..0bacbb39472316d68e5e6652d1859e7e5df6f163 100644 (file)
@@ -63,7 +63,7 @@
 
 ## æŠ€è¡“的な詳çް { #technical-details }
 
-`BackgroundTasks` ã‚¯ãƒ©ã‚¹ã¯ã€<a href="https://www.starlette.dev/background/" class="external-link" target="_blank">`starlette.background`</a>から盎接取埗されたす。
+`BackgroundTasks` ã‚¯ãƒ©ã‚¹ã¯ã€[`starlette.background`](https://www.starlette.dev/background/) ã‹ã‚‰ç›ŽæŽ¥å–埗されたす。
 
 ã“れは、FastAPI ã«ç›ŽæŽ¥ã‚€ãƒ³ãƒãƒŒãƒˆ/むンクルヌドされるため、`fastapi` ã‹ã‚‰ã‚€ãƒ³ãƒãƒŒãƒˆã§ãã‚‹äžŠã«ã€`starlette.background`から別の `BackgroundTask` (末尟に `s` ãŒãªã„) ã‚’誀っおむンポヌトするこずを回避できたす。
 
 
 ãã‚Œã§ã‚‚、FastAPI ã§ `BackgroundTask` ã‚’単独で䜿甚するこずは可胜ですが、コヌド内でオブゞェクトを䜜成し、それを含むStarlette `Response` ã‚’返す必芁がありたす。
 
-詳现に぀いおは、<a href="https://www.starlette.dev/background/" class="external-link" target="_blank">Starlette ã®ãƒãƒƒã‚¯ã‚°ãƒ©ã‚Šãƒ³ãƒ‰ã‚¿ã‚¹ã‚¯ã«é–¢ã™ã‚‹å…¬åŒãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ</a>を参照しお䞋さい。
+詳现に぀いおは、[Starlette ã®ãƒãƒƒã‚¯ã‚°ãƒ©ã‚Šãƒ³ãƒ‰ã‚¿ã‚¹ã‚¯ã«é–¢ã™ã‚‹å…¬åŒãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ](https://www.starlette.dev/background/)を参照しお䞋さい。
 
 ## æ³šæ„ { #caveat }
 
-倧量のバックグラりンド蚈算が必芁であり、必ずしも同じプロセスで実行する必芁がない堎合 (たずえば、メモリや倉数などを共有する必芁がない堎合)、<a href="https://docs.celeryq.dev" class="external-link" target="_blank">Celery</a> ã®ã‚ˆã†ãªã‚ˆã‚Šå€§ããªä»–のツヌルを䜿甚するずメリットがあるかもしれたせん。
+倧量のバックグラりンド蚈算が必芁であり、必ずしも同じプロセスで実行する必芁がない堎合 (たずえば、メモリや倉数などを共有する必芁がない堎合)、[Celery](https://docs.celeryq.dev) ã®ã‚ˆã†ãªã‚ˆã‚Šå€§ããªä»–のツヌルを䜿甚するずメリットがあるかもしれたせん。
 
 ã“れらは、より耇雑な構成、RabbitMQ ã‚„ Redis ãªã©ã®ãƒ¡ãƒƒã‚»ãƒŒã‚ž/ゞョブキュヌマネヌゞャヌを必芁ずする傟向がありたすが、耇数のプロセス、特に耇数のサヌバヌでバックグラりンドタスクを実行できたす。
 
index 9c1cc0fe699433b72194e80baef6145d061c33b7..3518eaed39fcbe54a2f59f5f10d6e4093cc0616b 100644 (file)
@@ -58,17 +58,17 @@ from app.routers import items
 
 ```bash
 .
-├── app                  # "app" is a Python package
-│   â”œâ”€â”€ __init__.py      # this file makes "app" a "Python package"
-│   â”œâ”€â”€ main.py          # "main" module, e.g. import app.main
-│   â”œâ”€â”€ dependencies.py  # "dependencies" module, e.g. import app.dependencies
-│   â””── routers          # "routers" is a "Python subpackage"
-│   â”‚   â”œâ”€â”€ __init__.py  # makes "routers" a "Python subpackage"
-│   â”‚   â”œâ”€â”€ items.py     # "items" submodule, e.g. import app.routers.items
-│   â”‚   â””── users.py     # "users" submodule, e.g. import app.routers.users
-│   â””── internal         # "internal" is a "Python subpackage"
-│       â”œâ”€â”€ __init__.py  # makes "internal" a "Python subpackage"
-│       â””── admin.py     # "admin" submodule, e.g. import app.internal.admin
+├── app                  # "app" ã¯ Python ãƒ‘ッケヌゞ
+│   â”œâ”€â”€ __init__.py      # ã“のファむルにより "app" ã¯ã€ŒPython ãƒ‘ッケヌゞ」になる
+│   â”œâ”€â”€ main.py          # "main" ãƒ¢ã‚žãƒ¥ãƒŒãƒ«ïŒˆäŸ‹: import app.main
+│   â”œâ”€â”€ dependencies.py  # "dependencies" ãƒ¢ã‚žãƒ¥ãƒŒãƒ«ïŒˆäŸ‹: import app.dependencies
+│   â””── routers          # "routers" ã¯ã€ŒPython ã‚µãƒ–パッケヌゞ」
+│   â”‚   â”œâ”€â”€ __init__.py  # ã“のファむルにより "routers" ã¯ã€ŒPython ã‚µãƒ–パッケヌゞ」になる
+│   â”‚   â”œâ”€â”€ items.py     # "items" ã‚µãƒ–モゞュヌル䟋: import app.routers.items
+│   â”‚   â””── users.py     # "users" ã‚µãƒ–モゞュヌル䟋: import app.routers.users
+│   â””── internal         # "internal" ã¯ã€ŒPython ã‚µãƒ–パッケヌゞ」
+│       â”œâ”€â”€ __init__.py  # ã“のファむルにより "internal" ã¯ã€ŒPython ã‚µãƒ–パッケヌゞ」になる
+│       â””── admin.py     # "admin" ã‚µãƒ–モゞュヌル䟋: import app.internal.admin
 ```
 
 ## `APIRouter` { #apirouter }
@@ -123,7 +123,7 @@ from app.routers import items
 
 ã“の䟋を簡単にするために架空のヘッダヌを䜿っおいたす。
 
-しかし実際には、組み蟌みの [Security utilities](security/index.md){.internal-link target=_blank} ã‚’䜿う方が良い結果になりたす。
+しかし実際には、組み蟌みの [Security utilities](security/index.md) ã‚’䜿う方が良い結果になりたす。
 
 ///
 
@@ -169,7 +169,7 @@ async def read_item(item_id: str):
 
 /// tip | è±†çŸ¥è­˜
 
-[*path operation ãƒ‡ã‚³ãƒ¬ãƒŒã‚¿*の䟝存関係](dependencies/dependencies-in-path-operation-decorators.md){.internal-link target=_blank} ãšåŒæ§˜ã«ã€*path operation é–¢æ•°*には倀は枡されない点に泚意しおください。
+[*path operation ãƒ‡ã‚³ãƒ¬ãƒŒã‚¿*の䟝存関係](dependencies/dependencies-in-path-operation-decorators.md) ãšåŒæ§˜ã«ã€*path operation é–¢æ•°*には倀は枡されない点に泚意しおください。
 
 ///
 
@@ -185,8 +185,8 @@ async def read_item(item_id: str):
 * ã™ã¹ãŠã«äº‹å‰å®šçŸ©ã—た `responses` ãŒå«ãŸã‚ŒãŸã™ã€‚
 * ã“れらすべおの *path operations* ã§ã¯ã€å®Ÿè¡Œå‰ã« `dependencies` ã®ãƒªã‚¹ãƒˆãŒè©•䟡・実行されたす。
     * ç‰¹å®šã® *path operation* ã«äŸå­˜é–¢ä¿‚を宣蚀した堎合は、**それらも実行されたす**。
-    * ãƒ«ãƒŒã‚¿ãƒŒã®äŸå­˜é–¢ä¿‚が先に実行され、その埌に[デコレヌタ内の `dependencies`](dependencies/dependencies-in-path-operation-decorators.md){.internal-link target=_blank}、次に通垞のパラメヌタ䟝存関係が続きたす。
-    * [`scopes` ã‚’䌎う `Security` äŸå­˜é–¢ä¿‚](../advanced/security/oauth2-scopes.md){.internal-link target=_blank} ã‚’远加するこずもできたす。
+    * ãƒ«ãƒŒã‚¿ãƒŒã®äŸå­˜é–¢ä¿‚が先に実行され、その埌に[デコレヌタ内の `dependencies`](dependencies/dependencies-in-path-operation-decorators.md)、次に通垞のパラメヌタ䟝存関係が続きたす。
+    * [`scopes` ã‚’䌎う `Security` äŸå­˜é–¢ä¿‚](../advanced/security/oauth2-scopes.md) ã‚’远加するこずもできたす。
 
 /// tip | è±†çŸ¥è­˜
 
@@ -303,7 +303,7 @@ from ...dependencies import get_token_header
 
 é€šåžžã©ãŠã‚Š `FastAPI` ã‚¯ãƒ©ã‚¹ã‚’むンポヌトしお䜜成したす。
 
-さらに、各 `APIRouter` ã®äŸå­˜é–¢ä¿‚ず組み合わされる[グロヌバル䟝存関係](dependencies/global-dependencies.md){.internal-link target=_blank}も宣蚀できたす:
+さらに、各 `APIRouter` ã®äŸå­˜é–¢ä¿‚ず組み合わされる[グロヌバル䟝存関係](dependencies/global-dependencies.md)も宣蚀できたす:
 
 {* ../../docs_src/bigger_applications/app_an_py310/main.py hl[1,3,7] title["app/main.py"] *}
 
@@ -353,7 +353,7 @@ from .routers import items, users
 from app.routers import items, users
 ```
 
-Python ã®ãƒ‘ッケヌゞずモゞュヌルに぀いお詳しくは、<a href="https://docs.python.org/3/tutorial/modules.html" class="external-link" target="_blank">公匏の Python ãƒ¢ã‚žãƒ¥ãƒŒãƒ«ã«é–¢ã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ</a>をご芧ください。
+Python ã®ãƒ‘ッケヌゞずモゞュヌルに぀いお詳しくは、[公匏の Python ãƒ¢ã‚žãƒ¥ãƒŒãƒ«ã«é–¢ã™ã‚‹ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ](https://docs.python.org/3/tutorial/modules.html)をご芧ください。
 
 ///
 
@@ -465,6 +465,37 @@ from .routers.users import router
 
 ///
 
+## `pyproject.toml` ã® `entrypoint` ã‚’蚭定 { #configure-the-entrypoint-in-pyproject-toml }
+
+FastAPI ã® `app` ã‚ªãƒ–ゞェクトは `app/main.py` ã«ã‚るので、`pyproject.toml` ã§ `entrypoint` ã‚’次のように蚭定できたす:
+
+```toml
+[tool.fastapi]
+entrypoint = "app.main:app"
+```
+
+これは次のようにむンポヌトするのず同等です:
+
+```python
+from app.main import app
+```
+
+このようにするず、`fastapi` ã‚³ãƒžãƒ³ãƒ‰ãŒã‚¢ãƒ—リの堎所を把握できたす。
+
+/// Note | å‚™è€ƒ
+
+コマンドにパスを枡すこずもできたす。䟋えば:
+
+```console
+$ fastapi dev app/main.py
+```
+
+しかし、そのたびに `fastapi` ã‚³ãƒžãƒ³ãƒ‰ã‚’呌ぶ際、正しいパスを枡すのを忘れないようにする必芁がありたす。
+
+さらに、[VS Code Extension](../editor-support.md) ã‚„ [FastAPI Cloud](https://fastapicloud.com) ãªã©ã€ä»–のツヌルが芋぀けられない堎合がありたす。そのため、`pyproject.toml` ã® `entrypoint` ã‚’䜿うこずを掚奚したす。
+
+///
+
 ## è‡ªå‹•APIドキュメントの確認 { #check-the-automatic-api-docs }
 
 ã‚¢ãƒ—リを実行したす:
@@ -472,14 +503,14 @@ from .routers.users import router
 <div class="termy">
 
 ```console
-$ fastapi dev app/main.py
+$ fastapi dev
 
 <span style="color: green;">INFO</span>:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
 ```
 
 </div>
 
-そしお <a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a> ã‚’開きたす。
+そしお [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) ã‚’開きたす。
 
 ã™ã¹ãŠã®ã‚µãƒ–モゞュヌル由来のパスを含む自動 API ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆãŒè¡šç€ºã•れ、正しいパスおよび prefixず正しいタグが䜿われおいるのが分かりたす:
 
index ab78b8f86ac6866b07f3cb6c9d0978866f6a3b1d..5187eb14e5e20a5d2f4cacea279b31c587d0803d 100644 (file)
@@ -96,7 +96,7 @@ Pydanticモデルの各属性には型がありたす。
 
 `str`や`int`、`float`などの通垞の単数型の他にも、`str`を継承したより耇雑な単数型を䜿うこずもできたす。
 
-すべおのオプションをみるには、<a href="https://docs.pydantic.dev/latest/concepts/types/" class="external-link" target="_blank">Pydanticの型の抂芁</a>を確認しおください。次の章でいく぀かの䟋をみるこずができたす。
+すべおのオプションをみるには、[Pydantic ã®åž‹ã®æŠ‚èЁ](https://docs.pydantic.dev/latest/concepts/types/)を確認しおください。次の章でいく぀かの䟋をみるこずができたす。
 
 äŸ‹ãˆã°ã€`Image`モデルのように`url`フィヌルドがある堎合、`str`の代わりにPydanticの`HttpUrl`のむンスタンスずしお宣蚀するこずができたす:
 
index 310530c6901a1a1fcd559c9bf588d1704896500e..a4fa8bd7beabb19fc08111d6d9dc0fe9560c2fbc 100644 (file)
@@ -2,7 +2,7 @@
 
 ## `PUT`による眮換での曎新 { #update-replacing-with-put }
 
-項目を曎新するには<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PUT" class="external-link" target="_blank">HTTPの`PUT`</a>操䜜を䜿甚するこずができたす。
+項目を曎新するには[HTTPの`PUT`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PUT)操䜜を䜿甚するこずができたす。
 
 `jsonable_encoder`を甚いお、入力デヌタをJSONずしお保存できるデヌタに倉換するこずができたす䟋NoSQLデヌタベヌス。䟋えば、`datetime`を`str`に倉換したす。
 
@@ -28,7 +28,7 @@
 
 ## `PATCH`による郚分的な曎新 { #partial-updates-with-patch }
 
-たた、<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PATCH" class="external-link" target="_blank">HTTPの`PATCH`</a>操䜜でデヌタを*郚分的に*曎新するこずもできたす。
+たた、[HTTPの`PATCH`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PATCH)操䜜でデヌタを*郚分的に*曎新するこずもできたす。
 
 ã€ãŸã‚Šã€æ›Žæ–°ã—たいデヌタだけを送信しお、残りはそのたたにしおおくこずができたす。
 
@@ -68,7 +68,7 @@
 
 ãŸãšã‚ã‚‹ãšã€éƒšåˆ†çš„な曎新を適甚するには、次のようにしたす:
 
-* (オプションで)`PATCH`の代わりに`PUT`を䜿甚したす。
+* (オプションで)`PUT`の代わりに`PATCH`を䜿甚したす。
 * ä¿å­˜ã•れおいるデヌタを取埗したす。
 * ãã®ãƒ‡ãƒŒã‚¿ã‚’Pydanticモデルにいれたす。
 * å…¥åŠ›ãƒ¢ãƒ‡ãƒ«ã‹ã‚‰ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€€ã‚’å«ãŸãªã„`dict`を生成したす`exclude_unset`を䜿甚したす。
@@ -95,6 +95,6 @@
 
 ãã®ãŸã‚ã€ã™ã¹ãŠã®å±žæ€§ã‚’省略できる郚分的な倉曎を受け取りたい堎合は、すべおの属性をオプションずしおマヌクしたモデルを甚意する必芁がありたすデフォルト倀たたは`None`を䜿甚しお。
 
-**曎新** ã®ãŸã‚ã®ã‚ªãƒ—ション倀がすべお蚭定されおいるモデルず、**䜜成** ã®ãŸã‚ã®å¿…須倀が蚭定されおいるモデルを区別するには、[远加モデル](extra-models.md){.internal-link target=_blank}で説明されおいる考え方を利甚するこずができたす。
+**曎新** ã®ãŸã‚ã®ã‚ªãƒ—ション倀がすべお蚭定されおいるモデルず、**䜜成** ã®ãŸã‚ã®å¿…須倀が蚭定されおいるモデルを区別するには、[远加モデル](extra-models.md)で説明されおいる考え方を利甚するこずができたす。
 
 ///
index 7c939bdfa00a1792c7029f7c992d8b5e9ad15a5a..9f100738c0d6d6b210612e3f1f0ec3a36d51c7bb 100644 (file)
@@ -6,7 +6,7 @@
 
 APIはほずんどの堎合 **レスポンス** ãƒœãƒ‡ã‚£ã‚’送信する必芁がありたす。しかしクラむアントは、垞に **リク゚ストボディ** ã‚’送信する必芁があるずは限りたせん。堎合によっおは、ク゚リパラメヌタ付きのパスだけをリク゚ストしお、ボディを送信しないこずもありたす。
 
-**リク゚スト**ボディを宣蚀するには、<a href="https://docs.pydantic.dev/" class="external-link" target="_blank">Pydantic</a> ãƒ¢ãƒ‡ãƒ«ã‚’䜿甚し、その匷力な機胜ずメリットをすべお利甚したす。
+**リク゚スト**ボディを宣蚀するには、[Pydantic](https://docs.pydantic.dev/) ãƒ¢ãƒ‡ãƒ«ã‚’䜿甚し、その匷力な機胜ずメリットをすべお利甚したす。
 
 /// info | æƒ…å ±
 
@@ -73,7 +73,7 @@ APIはほずんどの堎合 **レスポンス** ãƒœãƒ‡ã‚£ã‚’送信する必èЁ
     * ãƒ‡ãƒŒã‚¿ãŒç„¡åŠ¹ãªå Žåˆã¯ã€ã©ã“ã§äœ•ãŒäžæ­£ãªãƒ‡ãƒŒã‚¿ã ã£ãŸã®ã‹ã‚’æ­£ç¢ºã«ç€ºã™ã€åˆ†ã‹ã‚Šã‚„ã™ã„æ˜Žç¢ºãªã‚šãƒ©ãƒŒã‚’è¿”ã—ãŸã™ã€‚
 * å—け取ったデヌタをパラメヌタ `item` ã«æž¡ã—たす。
     * é–¢æ•°å†…で `Item` åž‹ãšã—お宣蚀したため、すべおの属性ずその型に぀いお、゚ディタサポヌト補完なども利甚できたす。
-* ãƒ¢ãƒ‡ãƒ«å‘けの <a href="https://json-schema.org" class="external-link" target="_blank">JSON Schema</a> å®šçŸ©ã‚’生成したす。プロゞェクトにずっお意味があるなら、他の堎所でも奜きなように利甚できたす。
+* ãƒ¢ãƒ‡ãƒ«å‘けの [JSON Schema](https://json-schema.org) å®šçŸ©ã‚’生成したす。プロゞェクトにずっお意味があるなら、他の堎所でも奜きなように利甚できたす。
 * ãã‚Œã‚‰ã®ã‚¹ã‚­ãƒŒãƒžã¯ç”Ÿæˆã•れるOpenAPIスキヌマの䞀郚ずなり、自動ドキュメントの <abbr title="User Interfaces - ãƒŠãƒŒã‚¶ãƒŒã‚€ãƒ³ã‚¿ãƒŒãƒ•ェヌス">UIs</abbr> ã§äœ¿ç”šã•れたす。
 
 ## è‡ªå‹•ドキュメント { #automatic-docs }
@@ -102,15 +102,15 @@ APIはほずんどの堎合 **レスポンス** ãƒœãƒ‡ã‚£ã‚’送信する必èЁ
 
 ã“れをサポヌトするために、Pydantic自䜓にもいく぀かの倉曎が加えられたした。
 
-前述のスクリヌンショットは <a href="https://code.visualstudio.com" class="external-link" target="_blank">Visual Studio Code</a> ã§æ’®åœ±ã•れたものです。
+前述のスクリヌンショットは [Visual Studio Code](https://code.visualstudio.com) ã§æ’®åœ±ã•れたものです。
 
-ただし、<a href="https://www.jetbrains.com/pycharm/" class="external-link" target="_blank">PyCharm</a> ã‚„、他のほずんどのPython゚ディタでも同じ゚ディタサポヌトを埗られたす:
+ただし、[PyCharm](https://www.jetbrains.com/pycharm/) ã‚„、他のほずんどのPython゚ディタでも同じ゚ディタサポヌトを埗られたす:
 
 <img src="/img/tutorial/body/image05.png">
 
 /// tip | è±†çŸ¥è­˜
 
-゚ディタずしお <a href="https://www.jetbrains.com/pycharm/" class="external-link" target="_blank">PyCharm</a> ã‚’䜿甚しおいる堎合、<a href="https://github.com/koxudaxi/pydantic-pycharm-plugin/" class="external-link" target="_blank">Pydantic PyCharm Plugin</a> ã‚’䜿甚できたす。
+゚ディタずしお [PyCharm](https://www.jetbrains.com/pycharm/) ã‚’䜿甚しおいる堎合、[Pydantic PyCharm Plugin](https://github.com/koxudaxi/pydantic-pycharm-plugin/) ã‚’䜿甚できたす。
 
 ä»¥äž‹ã«ã‚ˆã‚Šã€Pydanticモデルに察する゚ディタサポヌトが改善されたす:
 
@@ -163,4 +163,4 @@ FastAPIは、デフォルト倀 `= None` ãŒã‚るため、`q` ã®å€€ãŒå¿…é ˆ
 
 ## Pydanticを䜿わない方法 { #without-pydantic }
 
-Pydanticモデルを䜿いたくない堎合は、**Body** ãƒ‘ラメヌタも䜿甚できたす。[Body - Multiple Parameters: Singular values in body](body-multiple-params.md#singular-values-in-body){.internal-link target=_blank} ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’参照しおください。
+Pydanticモデルを䜿いたくない堎合は、**Body** ãƒ‘ラメヌタも䜿甚できたす。[Body - è€‡æ•°ã®ãƒ‘ラメヌタ: ãƒœãƒ‡ã‚£å†…の単䞀倀](body-multiple-params.md#singular-values-in-body) ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’参照しおください。
index 5136a7fd5fd1c92f70670a8ec59bcaf95ac8fd5b..3716b179b984e5b519da3c331a7428642c684a3b 100644 (file)
@@ -1,6 +1,6 @@
 # CORS (Cross-Origin Resource Sharing) { #cors-cross-origin-resource-sharing }
 
-<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS" class="external-link" target="_blank">CORSたたは「Cross-Origin Resource Sharing」</a> ã¯ã€ãƒ–ラりザで実行されおいるフロント゚ンドにバック゚ンドず通信するJavaScriptコヌドがあり、そのバック゚ンドがフロント゚ンドずは異なる「オリゞン」にある状況を指したす。
+[CORSたたは「Cross-Origin Resource Sharing」](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) ã¯ã€ãƒ–ラりザで実行されおいるフロント゚ンドにバック゚ンドず通信するJavaScriptコヌドがあり、そのバック゚ンドがフロント゚ンドずは異なる「オリゞン」にある状況を指したす。
 
 ## ã‚ªãƒªã‚žãƒ³ { #origin }
 
 * `allow_origins` - ã‚ªãƒªã‚žãƒ³é–“リク゚ストを蚱可するオリゞンのリスト。䟋えば、`['https://example.org', 'https://www.example.org']`。`['*']`を䜿甚しお任意のオリゞンを蚱可できたす。
 * `allow_origin_regex` - ã‚ªãƒªã‚žãƒ³é–“リク゚ストを蚱可するオリゞンの正芏衚珟文字列。䟋えば、`'https://.*\.example\.org'`。
 * `allow_methods` - ã‚ªãƒªã‚žãƒ³é–“リク゚ストで蚱可するHTTPメ゜ッドのリスト。デフォルトは `['GET']` ã§ã™ã€‚`['*']`を䜿甚しおすべおの暙準メ゜ッドを蚱可できたす。
-* `allow_headers` - ã‚ªãƒªã‚žãƒ³é–“リク゚ストでサポヌトするHTTPリク゚ストヘッダヌのリスト。デフォルトは `[]` ã§ã™ã€‚`['*']`を䜿甚しお、すべおのヘッダヌを蚱可できたす。<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#simple_requests" class="external-link" rel="noopener" target="_blank">シンプルなCORSリク゚スト</a>では、 `Accept` ã€ `Accept-Language` ã€ `Content-Language` ã€ `Content-Type` ãƒ˜ãƒƒãƒ€ãƒŒãŒåžžã«èš±å¯ã•れたす。
+* `allow_headers` - ã‚ªãƒªã‚žãƒ³é–“リク゚ストでサポヌトするHTTPリク゚ストヘッダヌのリスト。デフォルトは `[]` ã§ã™ã€‚`['*']`を䜿甚しお、すべおのヘッダヌを蚱可できたす。[シンプルなCORSリク゚スト](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#simple_requests)では、 `Accept` ã€ `Accept-Language` ã€ `Content-Language` ã€ `Content-Type` ãƒ˜ãƒƒãƒ€ãƒŒãŒåžžã«èš±å¯ã•れたす。
 * `allow_credentials` - ã‚ªãƒªã‚žãƒ³é–“リク゚ストでCookieをサポヌトする必芁があるこずを瀺したす。デフォルトは `False` ã§ã™ã€‚
 
-    `allow_credentials` ãŒ `True` ã«èš­å®šã•れおいる堎合、`allow_origins`、`allow_methods`、`allow_headers` ã®ã„ずれも `['*']` ã«èš­å®šã§ããŸã›ã‚“。これらはすべお<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#credentialed_requests_and_wildcards" class="external-link" rel="noopener" target="_blank">明瀺的に指定</a>する必芁がありたす。
+    `allow_credentials` ãŒ `True` ã«èš­å®šã•れおいる堎合、`allow_origins`、`allow_methods`、`allow_headers` ã®ã„ずれも `['*']` ã«èš­å®šã§ããŸã›ã‚“。これらはすべお[明瀺的に指定](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#credentialed_requests_and_wildcards)する必芁がありたす。
 
 * `expose_headers` - ãƒ–ラりザからアクセスできるようにするレスポンスヘッダヌを瀺したす。デフォルトは `[]` ã§ã™ã€‚
 * `max_age` - ãƒ–ラりザがCORSレスポンスをキャッシュする最倧時間を秒単䜍で蚭定したす。デフォルトは `600` ã§ã™ã€‚
@@ -78,7 +78,7 @@
 
 ## ã‚ˆã‚Šè©³ã—い情報 { #more-info }
 
-<abbr title="Cross-Origin Resource Sharing â€“ ã‚ªãƒªã‚žãƒ³é–“リ゜ヌス共有">CORS</abbr>に぀いおより詳しい情報は、<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS" class="external-link" target="_blank">Mozilla CORS documentation</a> ã‚’参照しお䞋さい。
+<abbr title="Cross-Origin Resource Sharing - ã‚ªãƒªã‚žãƒ³é–“リ゜ヌス共有">CORS</abbr>に぀いおより詳しい情報は、[Mozilla CORS documentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) ã‚’参照しお䞋さい。
 
 /// note | æŠ€è¡“詳çް
 
index 9d88ba42b59a3bc78a50e295d3a12b38e242f1b5..023e988dcec7f1afb594eab2d269362ea1c9134b 100644 (file)
@@ -59,7 +59,7 @@ Pythonによっお自動的に䜜成されたファむル内の内郚倉数 `__n
 ```Python
 from myapp import app
 
-# Some more code
+# ãã®ä»–のコヌド
 ```
 
 ãã®å Žåˆã€`myapp.py` å†…の自動的に䜜成された倉数 `__name__` ã¯ã€å€€ãšã—お `"__main__"` ã‚’持ちたせん。
@@ -74,7 +74,7 @@ from myapp import app
 
 /// info | æƒ…å ±
 
-より詳しい情報は、<a href="https://docs.python.org/3/library/__main__.html" class="external-link" target="_blank">公匏Pythonドキュメント</a>を参照しおください。
+より詳しい情報は、[公匏Pythonドキュメント](https://docs.python.org/3/library/__main__.html)を参照しおください。
 
 ///
 
index d0a2b167210a32e8666eb54f38d2e2aa8cb4941e..573ccc1f96c54783d42d778a9d88a07a854e1881 100644 (file)
@@ -32,7 +32,7 @@
 
 ã“の䟋では、架空のカスタムヘッダヌ `X-Key` ãš `X-Token` ã‚’䜿甚しおいたす。
 
-しかし実際のケヌスでセキュリティを実装する際は、統合された[Security utilities次の章](../security/index.md){.internal-link target=_blank}を䜿うこずで、より倚くの利点を埗られたす。
+しかし実際のケヌスでセキュリティを実装する際は、統合された[Security utilities次の章](../security/index.md)を䜿うこずで、より倚くの利点を埗られたす。
 
 ///
 
@@ -62,7 +62,7 @@
 
 ## *path operation*のグルヌプに察する䟝存関係 { #dependencies-for-a-group-of-path-operations }
 
-埌で、より倧きなアプリケヌションをおそらく耇数ファむルで構造化する方法[Bigger Applications - Multiple Files](../../tutorial/bigger-applications.md){.internal-link target=_blank}に぀いお読むずきに、*path operation*のグルヌプに察しお単䞀の`dependencies`パラメヌタを宣蚀する方法を孊びたす。
+埌で、より倧きなアプリケヌションをおそらく耇数ファむルで構造化する方法[Bigger Applications - Multiple Files](../../tutorial/bigger-applications.md)に぀いお読むずきに、*path operation*のグルヌプに察しお単䞀の`dependencies`パラメヌタを宣蚀する方法を孊びたす。
 
 ## ã‚°ãƒ­ãƒŒãƒãƒ«äŸå­˜é–¢ä¿‚ { #global-dependencies }
 
index 380dcb536bd87847accf6a4d555b333ba8c1d155..83e4f8809858b6c8b18490d4ac78d0ec3ec5f667 100644 (file)
@@ -14,8 +14,8 @@ FastAPIは、いく぀かの<dfn title="「終了コヌド」「クリヌンア
 
 ä»¥äž‹ãšäž€ç·’に䜿甚できる関数なら䜕でも有効です:
 
-* <a href="https://docs.python.org/3/library/contextlib.html#contextlib.contextmanager" class="external-link" target="_blank">`@contextlib.contextmanager`</a>たたは
-* <a href="https://docs.python.org/3/library/contextlib.html#contextlib.asynccontextmanager" class="external-link" target="_blank">`@contextlib.asynccontextmanager`</a>
+* [`@contextlib.contextmanager`](https://docs.python.org/3/library/contextlib.html#contextlib.contextmanager) ãŸãŸã¯
+* [`@contextlib.asynccontextmanager`](https://docs.python.org/3/library/contextlib.html#contextlib.asynccontextmanager)
 
 ã“れらは **FastAPI** ã®äŸå­˜é–¢ä¿‚ずしお䜿甚するのに有効です。
 
@@ -87,7 +87,7 @@ FastAPIは、いく぀かの<dfn title="「終了コヌド」「クリヌンア
 
 /// note | æŠ€è¡“詳çް
 
-これはPythonの<a href="https://docs.python.org/3/library/contextlib.html" class="external-link" target="_blank">Context Managers</a>のおかげで動䜜したす。
+これはPythonの[コンテキストマネヌゞャ](https://docs.python.org/3/library/contextlib.html)のおかげで動䜜したす。
 
 **FastAPI** ã¯ã“れを実珟するために内郚的に䜿甚しおいたす。
 
@@ -111,7 +111,7 @@ FastAPIは、いく぀かの<dfn title="「終了コヌド」「クリヌンア
 
 {* ../../docs_src/dependencies/tutorial008b_an_py310.py hl[18:22,31] *}
 
-䟋倖をキャッチしお、それに基づいおカスタムレスポンスを䜜成したい堎合は、[カスタム䟋倖ハンドラ](../handling-errors.md#install-custom-exception-handlers){.internal-link target=_blank}を䜜成しおください。
+䟋倖をキャッチしお、それに基づいおカスタムレスポンスを䜜成したい堎合は、[カスタム䟋倖ハンドラ](../handling-errors.md#install-custom-exception-handlers)を䜜成しおください。
 
 ## `yield`ず`except`を持぀䟝存関係 { #dependencies-with-yield-and-except }
 
@@ -233,14 +233,14 @@ participant operation as Path Operation
 
 `yield`を持぀䟝存関係は、さたざたなナヌスケヌスをカバヌし、いく぀かの問題を修正するために、時間ずずもに進化しおきたした。
 
-FastAPIの異なるバヌゞョンで䜕が倉わったのかを知りたい堎合は、䞊玚ガむドの[䞊玚の䟝存関係 - `yield`、`HTTPException`、`except`、バックグラりンドタスクを持぀䟝存関係](../../advanced/advanced-dependencies.md#dependencies-with-yield-httpexception-except-and-background-tasks){.internal-link target=_blank}で詳しく読めたす。
+FastAPIの異なるバヌゞョンで䜕が倉わったのかを知りたい堎合は、䞊玚ガむドの[䞊玚の䟝存関係 - `yield`、`HTTPException`、`except`、バックグラりンドタスクを持぀䟝存関係](../../advanced/advanced-dependencies.md#dependencies-with-yield-httpexception-except-and-background-tasks)で詳しく読めたす。
 ## ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆãƒžãƒãƒŒã‚žãƒ£ { #context-managers }
 
 ### ã€Œã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆãƒžãƒãƒŒã‚žãƒ£ã€ãšã¯ { #what-are-context-managers }
 
 ã€Œã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆãƒžãƒãƒŒã‚žãƒ£ã€ãšã¯ã€`with`文の䞭で䜿甚できるPythonオブゞェクトのこずです。
 
-䟋えば、<a href="https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files" class="external-link" target="_blank">ファむルを読み蟌むには`with`を䜿甚するこずができたす</a>:
+䟋えば、[ファむルを読み蟌むには`with`を䜿甚するこずができたす](https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files):
 
 ```Python
 with open("./somefile.txt") as f:
@@ -264,7 +264,7 @@ with open("./somefile.txt") as f:
 
 ///
 
-Pythonでは、<a href="https://docs.python.org/3/reference/datamodel.html#context-managers" class="external-link" target="_blank">以䞋の぀のメ゜ッドを持぀クラスを䜜成する: `__enter__()`ず`__exit__()`</a>こずでコンテキストマネヌゞャを䜜成するこずができたす。
+Pythonでは、[以䞋の぀のメ゜ッドを持぀クラスを䜜成する: `__enter__()`ず`__exit__()`](https://docs.python.org/3/reference/datamodel.html#context-managers)こずでコンテキストマネヌゞャを䜜成するこずができたす。
 
 ãŸãŸã€äŸå­˜é–¢æ•°ã®äž­ã§`with`や`async with`文を䜿甚するこずによっお`yield`を持぀ **FastAPI** ã®äŸå­˜é–¢ä¿‚の䞭でそれらを䜿甚するこずができたす:
 
@@ -272,10 +272,10 @@ Pythonでは、<a href="https://docs.python.org/3/reference/datamodel.html#conte
 
 /// tip | è±†çŸ¥è­˜
 
-コンテキストマネヌゞャを䜜成するもう䞀぀の方法はwithです:
+コンテキストマネヌゞャを䜜成するもう䞀぀の方法は次の方法です:
 
-* <a href="https://docs.python.org/3/library/contextlib.html#contextlib.contextmanager" class="external-link" target="_blank">`@contextlib.contextmanager`</a> ãŸãŸã¯
-* <a href="https://docs.python.org/3/library/contextlib.html#contextlib.asynccontextmanager" class="external-link" target="_blank">`@contextlib.asynccontextmanager`</a>
+* [`@contextlib.contextmanager`](https://docs.python.org/3/library/contextlib.html#contextlib.contextmanager) ãŸãŸã¯
+* [`@contextlib.asynccontextmanager`](https://docs.python.org/3/library/contextlib.html#contextlib.asynccontextmanager)
 
 ã“れらを䜿っお、関数を単䞀の`yield`でデコレヌトするこずができたす。
 
index 284da2181ba8381292d1d6ad44c040332516dc36..35a77a5f76b0379127f91f3798414319843f787f 100644 (file)
@@ -2,14 +2,14 @@
 
 ã‚¢ãƒ—リケヌションの皮類によっおは、アプリ党䜓に䟝存関係を远加したい堎合がありたす。
 
-[`dependencies` ã‚’ path operation ã®ãƒ‡ã‚³ãƒ¬ãƒŒã‚¿ã«è¿œåŠ ](dependencies-in-path-operation-decorators.md){.internal-link target=_blank}できるのず同様に、`FastAPI` ã‚¢ãƒ—リケヌション自䜓にも远加できたす。
+[`dependencies` ã‚’ path operation ã®ãƒ‡ã‚³ãƒ¬ãƒŒã‚¿ã«è¿œåŠ ](dependencies-in-path-operation-decorators.md)できるのず同様に、`FastAPI` ã‚¢ãƒ—リケヌション自䜓にも远加できたす。
 
 ãã®å Žåˆã€ã‚¢ãƒ—リケヌション内のすべおの path operation ã«é©ç”šã•れたす:
 
 {* ../../docs_src/dependencies/tutorial012_an_py310.py hl[17] *}
 
-たた、[`dependencies` ã‚’ path operation ã®ãƒ‡ã‚³ãƒ¬ãƒŒã‚¿ã«è¿œåŠ ](dependencies-in-path-operation-decorators.md){.internal-link target=_blank}する節で説明した考え方はすべお匕き続き圓おはたりたすが、この堎合はアプリ内のすべおの path operation ã«å¯Ÿã—お適甚されたす。
+たた、[`dependencies` ã‚’ path operation ã®ãƒ‡ã‚³ãƒ¬ãƒŒã‚¿ã«è¿œåŠ ](dependencies-in-path-operation-decorators.md)する節で説明した考え方はすべお匕き続き圓おはたりたすが、この堎合はアプリ内のすべおの path operation ã«å¯Ÿã—お適甚されたす。
 
 ## path operation ã®ã‚°ãƒ«ãƒŒãƒ—に察する䟝存関係 { #dependencies-for-groups-of-path-operations }
 
-埌で、耇数ファむルを含む倧芏暡アプリケヌションの構成方法[倧芏暡アプリケヌション - è€‡æ•°ãƒ•ァむル](../../tutorial/bigger-applications.md){.internal-link target=_blank}を読むず、path operation ã®ã‚°ãƒ«ãƒŒãƒ—に察しお 1 ã€ã® `dependencies` ãƒ‘ラメヌタを宣蚀する方法を孊びたす。
+埌で、耇数ファむルを含む倧芏暡アプリケヌションの構成方法[倧芏暡アプリケヌション - è€‡æ•°ãƒ•ァむル](../../tutorial/bigger-applications.md)を読むず、path operation ã®ã‚°ãƒ«ãƒŒãƒ—に察しお 1 ã€ã® `dependencies` ãƒ‘ラメヌタを宣蚀する方法を孊びたす。
index 64cb4f79e4dc164b010506cd07cbfb5ecaf8317c..a3cf3e26b5a7e386b15e00012422ee14a0c66a92 100644 (file)
@@ -57,7 +57,7 @@ FastAPI ã¯ãƒãƒŒã‚žãƒ§ãƒ³ 0.95.0 ã§ `Annotated` ã®ã‚µãƒãƒŒãƒˆã‚’远加し
 
 å€ã„バヌゞョンを䜿甚しおいる堎合、`Annotated` ã‚’䜿おうずするず゚ラヌになりたす。
 
-`Annotated` ã‚’䜿甚する前に、少なくずも 0.95.1 ãŸã§ [FastAPI ã®ãƒãƒŒã‚žãƒ§ãƒ³ã‚’アップグレヌド](../../deployment/versions.md#upgrading-the-fastapi-versions){.internal-link target=_blank} ã—おください。
+`Annotated` ã‚’䜿甚する前に、少なくずも 0.95.1 ãŸã§ [FastAPI ã®ãƒãƒŒã‚žãƒ§ãƒ³ã‚’アップグレヌド](../../deployment/versions.md#upgrading-the-fastapi-versions) ã—おください。
 
 ///
 
@@ -152,7 +152,7 @@ commons: Annotated[dict, Depends(common_parameters)]
 
 /// note | å‚™è€ƒ
 
-わからない堎合は、ドキュメントの[Async: *"In a hurry?"*](../../async.md#in-a-hurry){.internal-link target=_blank}の䞭の`async`ず`await`に぀いおのセクションを確認しおください。
+わからない堎合は、ドキュメントの[Async: *「急いでいたすか」*](../../async.md#in-a-hurry)の䞭の`async`ず`await`に぀いおのセクションを確認しおください。
 
 ///
 
index 33cc6ae48c5d734646e2fd6239cf2f13ac669416..e4745faf7cdcbbe7903e4f3a9b7999a9ebc5f8eb 100644 (file)
@@ -12,7 +12,7 @@ JSON互換のデヌタのみを受信するデヌタベヌス`fake_db`がある
 
 äŸ‹ãˆã°ã€`datetime`オブゞェクトはJSONず互換性がないので、受け取られたせん。
 
-そのため、`datetime`オブゞェクトは<a href="https://en.wikipedia.org/wiki/ISO_8601" class="external-link" target="_blank">ISO圢匏</a>のデヌタを含む`str`に倉換されなければなりたせん。
+そのため、`datetime`オブゞェクトは[ISO圢匏](https://en.wikipedia.org/wiki/ISO_8601)のデヌタを含む`str`に倉換されなければなりたせん。
 
 åŒæ§˜ã«ã€ã“のデヌタベヌスはPydanticモデル属性を持぀オブゞェクトを受け取らず、`dict`だけを受け取りたす。
 
@@ -24,7 +24,7 @@ Pydanticモデルのようなオブゞェクトを受け取り、JSON互換版
 
 ã“の䟋では、Pydanticモデルを`dict`に、`datetime`を`str`に倉換したす。
 
-呌び出した結果は、Pythonの暙準の<a href="https://docs.python.org/3/library/json.html#json.dumps" class="external-link" target="_blank">`json.dumps()`</a>で゚ンコヌドできるものです。
+呌び出した結果は、Pythonの暙準の[`json.dumps()`](https://docs.python.org/3/library/json.html#json.dumps)で゚ンコヌドできるものです。
 
 ã“れはJSON圢匏のデヌタを含む倧きな`str`を文字列ずしお返したせん。JSONず互換性のある倀ずサブの倀を持぀Python暙準のデヌタ構造䟋`dict`を返したす。
 
index 4ed84e86f88148a204e057e3f245fd1fc675e801..1bbfeb71e31b578853288ffbb273330751b76bf1 100644 (file)
@@ -36,7 +36,7 @@
 * `datetime.timedelta`:
     * Pythonの`datetime.timedelta`です。
     * ãƒªã‚¯ã‚šã‚¹ãƒˆãšãƒ¬ã‚¹ãƒãƒ³ã‚¹ã§ã¯åˆèšˆç§’数の`float`で衚珟されたす。
-    * Pydanticでは「ISO 8601 time diff encoding」ずしお衚珟するこずも可胜です。<a href="https://docs.pydantic.dev/latest/concepts/serialization/#custom-serializers" class="external-link" target="_blank">詳现はドキュメントを参照しおください</a>。
+    * Pydanticでは「ISO 8601 time diff encoding」ずしお衚珟するこずも可胜です。[詳现はドキュメントを参照しおください](https://docs.pydantic.dev/latest/concepts/serialization/#custom-serializers)。
 * `frozenset`:
     * ãƒªã‚¯ã‚šã‚¹ãƒˆãšãƒ¬ã‚¹ãƒãƒ³ã‚¹ã§ã¯`set`ず同じように扱われたす:
         * ãƒªã‚¯ã‚šã‚¹ãƒˆã§ã¯ã€ãƒªã‚¹ãƒˆãŒèª­ã¿èŸŒãŸã‚Œã€é‡è€‡ã‚’排陀しお`set`に倉換されたす。
@@ -49,7 +49,7 @@
 * `Decimal`:
     * Pythonの暙準的な`Decimal`です。
     * ãƒªã‚¯ã‚šã‚¹ãƒˆãšãƒ¬ã‚¹ãƒãƒ³ã‚¹ã§ã¯`float`ず同じように扱われたす。
-* Pydanticの党おの有効な型はこちらで確認できたす: <a href="https://docs.pydantic.dev/latest/usage/types/types/" class="external-link" target="_blank">Pydantic data types</a>。
+* æœ‰åŠ¹ãªPydanticのデヌタ型はここで確認できたす: [Pydantic ã®ãƒ‡ãƒŒã‚¿åž‹](https://docs.pydantic.dev/latest/usage/types/types/)。
 
 ## äŸ‹ { #example }
 
index 951e8b35e4e049e4aca3eba9c7158056a01f7d1e..20883068c26485af52dde574842ed7cb816b80b7 100644 (file)
@@ -12,7 +12,7 @@
 
 ãƒŠãƒŒã‚¶ãƒŒã®å¹³æ–‡ã®ãƒ‘スワヌドは絶察に保存しないでください。垞に怜蚌できる「安党なハッシュ」を保存しおください。
 
-知らない方は、[セキュリティの章](security/simple-oauth2.md#password-hashing){.internal-link target=_blank}で「パスワヌドハッシュ」ずは䜕かを孊ぶこずができたす。
+知らない方は、[セキュリティの章](security/simple-oauth2.md#password-hashing)で「パスワヌドハッシュ」ずは䜕かを孊ぶこずができたす。
 
 ///
 
@@ -162,11 +162,11 @@ UserInDB(
 
 OpenAPIでは`anyOf`で定矩されたす。
 
-そのためには、暙準的なPythonの型ヒント<a href="https://docs.python.org/3/library/typing.html#typing.Union" class="external-link" target="_blank">`typing.Union`</a>を䜿甚したす:
+そのためには、暙準的なPythonの型ヒント[`typing.Union`](https://docs.python.org/3/library/typing.html#typing.Union)を䜿甚したす:
 
 /// note | å‚™è€ƒ
 
-<a href="https://docs.pydantic.dev/latest/concepts/types/#unions" class="external-link" target="_blank">`Union`</a>を定矩する堎合は、最も具䜓的な型を先に、その埌により具䜓性の䜎い型を含めおください。以䞋の䟋では、より具䜓的な`PlaneItem`が`Union[PlaneItem, CarItem]`内で`CarItem`より前に来おいたす。
+[`Union`](https://docs.pydantic.dev/latest/concepts/types/#unions)を定矩する堎合は、最も具䜓的な型を先に、その埌により具䜓性の䜎い型を含めおください。以䞋の䟋では、より具䜓的な`PlaneItem`が`Union[PlaneItem, CarItem]`内で`CarItem`より前に来おいたす。
 
 ///
 
index 37d71a9f72c243a5286c2423e67a49775844dd27..26cb49159c09b47548e8f9ab6f45ecdaa46f0fd5 100644 (file)
@@ -11,7 +11,7 @@
 <div class="termy">
 
 ```console
-$ <font color="#4E9A06">fastapi</font> dev <u style="text-decoration-style:solid">main.py</u>
+$ <font color="#4E9A06">fastapi</font> dev
 
   <span style="background-color:#009485"><font color="#D3D7CF"> FastAPI </font></span>  Starting development server ðŸš€
 
@@ -58,7 +58,7 @@ INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
 
 ### ãƒã‚§ãƒƒã‚¯ { #check-it }
 
-ブラりザで<a href="http://127.0.0.1:8000" class="external-link" target="_blank">http://127.0.0.1:8000</a>を開きたす。
+ブラりザで[http://127.0.0.1:8000](http://127.0.0.1:8000)を開きたす。
 
 æ¬¡ã®ã‚ˆã†ãªJSONレスポンスが衚瀺されたす:
 
@@ -68,17 +68,17 @@ INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
 
 ### å¯Ÿè©±çš„APIドキュメント { #interactive-api-docs }
 
-次に、<a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a>にアクセスしたす。
+次に、[http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs)にアクセスしたす。
 
-自動生成された察話的APIドキュメントが衚瀺されたす (<a href="https://github.com/swagger-api/swagger-ui" class="external-link" target="_blank">Swagger UI</a>で提䟛):
+自動生成された察話的APIドキュメントが衚瀺されたす[Swagger UI](https://github.com/swagger-api/swagger-ui)で提䟛:
 
 ![Swagger UI](https://fastapi.tiangolo.com/img/index/index-01-swagger-ui-simple.png)
 
 ### ä»£æ›¿APIドキュメント { #alternative-api-docs }
 
-次に、<a href="http://127.0.0.1:8000/redoc" class="external-link" target="_blank">http://127.0.0.1:8000/redoc</a>にアクセスしたす。
+次に、[http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc)にアクセスしたす。
 
-先ほどずは異なる、自動生成された察話的APIドキュメントが衚瀺されたす (<a href="https://github.com/Rebilly/ReDoc" class="external-link" target="_blank">ReDoc</a>によっお提䟛):
+先ほどずは異なる、自動生成された察話的APIドキュメントが衚瀺されたす[ReDoc](https://github.com/Rebilly/ReDoc)によっお提䟛:
 
 ![ReDoc](https://fastapi.tiangolo.com/img/index/index-02-redoc-simple.png)
 
@@ -92,7 +92,7 @@ INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
 
 #### API「スキヌマ」 { #api-schema }
 
-ここでは、<a href="https://github.com/OAI/OpenAPI-Specification" class="external-link" target="_blank">OpenAPI</a>はAPIのスキヌマ定矩の方法を芏定する仕様です。
+ここでは、[OpenAPI](https://github.com/OAI/OpenAPI-Specification)はAPIのスキヌマ定矩の方法を芏定する仕様です。
 
 ã“のスキヌマ定矩はAPIパス、受け取り可胜なパラメヌタなどが含たれたす。
 
@@ -110,7 +110,7 @@ OpenAPIはAPIのためのAPIスキヌマを定矩したす。そしお、その
 
 çŽ ã®OpenAPIスキヌマがどのようなものか興味がある堎合、FastAPIはすべおのAPIの説明を含むJSONスキヌマを自動的に生成したす。
 
-次の堎所で盎接確認できたす: <a href="http://127.0.0.1:8000/openapi.json" class="external-link" target="_blank">http://127.0.0.1:8000/openapi.json</a>.
+次の堎所で盎接確認できたす: [http://127.0.0.1:8000/openapi.json](http://127.0.0.1:8000/openapi.json).
 
 æ¬¡ã®ã‚ˆã†ãªJSONが衚瀺されたす。
 
@@ -143,9 +143,58 @@ OpenAPIスキヌマは、FastAPIに含たれおいる2぀のむンタラクテ
 
 ãŸãŸã€APIず通信するクラむアント甚のコヌドを自動的に生成するために䜿甚するこずもできたす。たずえば、フロント゚ンド、モバむル、たたはIoTアプリケヌションです。
 
+### `pyproject.toml`でアプリの`entrypoint`を蚭定 { #configure-the-app-entrypoint-in-pyproject-toml }
+
+`pyproject.toml`でアプリの堎所を次のように蚭定できたす:
+
+```toml
+[tool.fastapi]
+entrypoint = "main:app"
+```
+
+この`entrypoint`は、`fastapi`コマンドに察しお、次のようにアプリをむンポヌトすべきであるこずを䌝えたす:
+
+```python
+from main import app
+```
+
+もしコヌド構成が次のようになっおいる堎合:
+
+```
+.
+├── backend
+│   â”œâ”€â”€ main.py
+│   â”œâ”€â”€ __init__.py
+```
+
+このずきは`entrypoint`を次のように蚭定したす:
+
+```toml
+[tool.fastapi]
+entrypoint = "backend.main:app"
+```
+
+これは次ず同等です:
+
+```python
+from backend.main import app
+```
+
+### ãƒ‘ス付きの`fastapi dev` { #fastapi-dev-with-path }
+
+`fastapi dev`コマンドにファむルパスを枡すこずもでき、䜿甚すべきFastAPIのappオブゞェクトを掚枬したす:
+
+```console
+$ fastapi dev main.py
+```
+
+ただし、その堎合は毎回`fastapi`コマンドを呌ぶたびに正しいパスを枡すこずを芚えおおく必芁がありたす。
+
+さらに、他のツヌルたずえば、[VS Code æ‹¡åŒµæ©Ÿèƒœ](../editor-support.md)や[FastAPI Cloud](https://fastapicloud.com)が芋぀けられない堎合がありたす。そのため、`pyproject.toml`の`entrypoint`を䜿うこずを掚奚したす。
+
 ### ã‚¢ãƒ—リをデプロむ任意 { #deploy-your-app-optional }
 
-任意でFastAPIアプリを<a href="https://fastapicloud.com" class="external-link" target="_blank">FastAPI Cloud</a>にデプロむできたす。ただなら、埅機リストに登録しおください。 ðŸš€
+任意でFastAPIアプリを[FastAPI Cloud](https://fastapicloud.com)にデプロむできたす。ただなら、埅機リストに登録しおください。 ðŸš€
 
 ã™ã§ã«**FastAPI Cloud**アカりントがある堎合埅機リストから招埅枈みの堎合😉、1コマンドでアプリケヌションをデプロむできたす。
 
@@ -191,7 +240,7 @@ Deploying to FastAPI Cloud...
 
 `FastAPI`は`Starlette`を盎接継承するクラスです。
 
-`FastAPI`でも<a href="https://www.starlette.dev/" class="external-link" target="_blank">Starlette</a>のすべおの機胜を利甚可胜です。
+`FastAPI`でも[Starlette](https://www.starlette.dev/)のすべおの機胜を利甚可胜です。
 
 ///
 
@@ -272,7 +321,7 @@ APIを構築するずきは、通垞、これらの特定のHTTPメ゜ッドを
 * ãƒ‘ス `/`
 * <dfn title="HTTP GET ãƒ¡ã‚œãƒƒãƒ‰"><code>get</code> ã‚ªãƒšãƒ¬ãƒŒã‚·ãƒ§ãƒ³</dfn>
 
-/// info | `@decorator` Info
+/// info | `@decorator` æƒ…å ±
 
 Pythonにおける`@something`シンタックスはデコレヌタず呌ばれたす。
 
@@ -335,7 +384,7 @@ Pythonにおける`@something`シンタックスはデコレヌタず呌ばれ
 
 /// note | å‚™è€ƒ
 
-違いが分からない堎合は、[Async: *"急いでいたすか"*](../async.md#in-a-hurry){.internal-link target=_blank}を確認しおください。
+違いが分からない堎合は、[Async: *「急いでいたすか」*](../async.md#in-a-hurry)を確認しおください。
 
 ///
 
@@ -351,11 +400,11 @@ JSONに自動的に倉換されるオブゞェクトやモデルは他にもた
 
 ### Step 6: ãƒ‡ãƒ—ロむする { #step-6-deploy-it }
 
-**<a href="https://fastapicloud.com" class="external-link" target="_blank">FastAPI Cloud</a>**に1コマンドでアプリをデプロむしたす: `fastapi deploy`. ðŸŽ‰
+**[FastAPI Cloud](https://fastapicloud.com)**に1コマンドでアプリをデプロむしたす: `fastapi deploy`. ðŸŽ‰
 
 #### FastAPI Cloudに぀いお { #about-fastapi-cloud }
 
-**<a href="https://fastapicloud.com" class="external-link" target="_blank">FastAPI Cloud</a>**は、**FastAPI**の䜜者ずそのチヌムによっお開発されおいたす。
+**[FastAPI Cloud](https://fastapicloud.com)**は、**FastAPI**の䜜者ずそのチヌムによっお開発されおいたす。
 
 æœ€å°é™ã®åŠŽåŠ›ã§APIの**構築**、**デプロむ**、**アクセス**を行うプロセスを合理化したす。
 
index dc74e3f6cca5a72f08dc7f74e3d0b6cb477e005a..8d0190cb0b74014f298dba0f8eef3b9e3f22f599 100644 (file)
@@ -81,7 +81,7 @@ Pythonの䟋倖なので、`return`ではなく、`raise`です。
 
 ## ã‚«ã‚¹ã‚¿ãƒ äŸ‹å€–ハンドラのむンストヌル { #install-custom-exception-handlers }
 
-カスタム䟋倖ハンドラは<a href="https://www.starlette.dev/exceptions/" class="external-link" target="_blank">Starletteず同じ䟋倖ナヌティリティ</a>を䜿甚しお远加するこずができたす。
+カスタム䟋倖ハンドラは[Starletteず同じ䟋倖ナヌティリティ](https://www.starlette.dev/exceptions/)を䜿甚しお远加するこずができたす。
 
 ã‚なたたたは䜿甚しおいるラむブラリが`raise`するかもしれないカスタム䟋倖`UnicornException`があるずしたしょう。
 
index d298abc62d7d5e5a4660a04d306a2ce26375e251..8182c92ae91cfd387436e160d8821b1d7e5db464 100644 (file)
@@ -15,7 +15,7 @@
 <div class="termy">
 
 ```console
-$ <font color="#4E9A06">fastapi</font> dev <u style="text-decoration-style:solid">main.py</u>
+$ <font color="#4E9A06">fastapi</font> dev
 
   <span style="background-color:#009485"><font color="#D3D7CF"> FastAPI </font></span>  Starting development server ðŸš€
 
@@ -62,7 +62,7 @@ $ <font color="#4E9A06">fastapi</font> dev <u style="text-decoration-style:solid
 
 æœ€åˆã®ã‚¹ãƒ†ãƒƒãƒ—は、FastAPIのむンストヌルです。
 
-[仮想環境](../virtual-environments.md){.internal-link target=_blank} ã‚’䜜成しお有効化し、それから **FastAPIをむンストヌル** ã—おください:
+[仮想環境](../virtual-environments.md) ã‚’䜜成しお有効化し、それから **FastAPIをむンストヌル** ã—おください:
 
 <div class="termy">
 
@@ -76,7 +76,7 @@ $ pip install "fastapi[standard]"
 
 /// note | å‚™è€ƒ
 
-`pip install "fastapi[standard]"` ã§ã‚€ãƒ³ã‚¹ãƒˆãƒŒãƒ«ã™ã‚‹ãšã€`fastapi-cloud-cli` ã‚’含むいく぀かのデフォルトのオプション暙準䟝存関係が付属したす。これにより、<a href="https://fastapicloud.com" class="external-link" target="_blank">FastAPI Cloud</a> ã«ãƒ‡ãƒ—ロむできたす。
+`pip install "fastapi[standard]"` ã§ã‚€ãƒ³ã‚¹ãƒˆãƒŒãƒ«ã™ã‚‹ãšã€`fastapi-cloud-cli` ã‚’含むいく぀かのデフォルトのオプション暙準䟝存関係が付属したす。これにより、[FastAPI Cloud](https://fastapicloud.com) ã«ãƒ‡ãƒ—ロむできたす。
 
 ã“れらのオプション䟝存関係が䞍芁な堎合は、代わりに `pip install fastapi` ã‚’むンストヌルできたす。
 
@@ -84,6 +84,12 @@ $ pip install "fastapi[standard]"
 
 ///
 
+/// tip | è±†çŸ¥è­˜
+
+FastAPI ã«ã¯ [VS Code ã®å…¬åŒæ‹¡åŒµæ©Ÿèƒœ](https://marketplace.visualstudio.com/items?itemName=FastAPILabs.fastapi-vscode)および Cursorがありたす。path operation ã‚šã‚¯ã‚¹ãƒ—ロヌラヌ、path operation æ€œçŽ¢ã€ãƒ†ã‚¹ãƒˆå†…ã® CodeLens ãƒŠãƒ“ゲヌションテストから定矩ぞゞャンプ、そしお FastAPI Cloud ãžã®ãƒ‡ãƒ—ロむやログなど、さたざたな機胜を゚ディタヌから利甚できたす。
+
+///
+
 ## é«˜åºŠãªãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰ { #advanced-user-guide }
 
 ã“の **チュヌトリアル - ãƒŠãƒŒã‚¶ãƒŒã‚¬ã‚€ãƒ‰** ã®åŸŒã§ã€åŸŒã‹ã‚‰èª­ã‚ã‚‹ **高床なナヌザヌガむド** ã‚‚ありたす。
index 3b70bf2f413ef09d48e674c45422b6a22f350887..6802e6c9aa9f5240a32b6f36d72915d7e162ba18 100644 (file)
@@ -14,7 +14,7 @@ OpenAPI仕様および自動APIドキュメントUIで䜿甚される次のフ
 | `version` | `string` | APIのバヌゞョンです。これはOpenAPIのバヌゞョンではなく、あなた自身のアプリケヌションのバヌゞョンです。たずえば `2.5.0` ã§ã™ã€‚ |
 | `terms_of_service` | `str` | APIの利甚芏玄ぞのURLです。指定する堎合、URLである必芁がありたす。 |
 | `contact` | `dict` | å…¬é–‹ã•れるAPIの連絡先情報です。耇数のフィヌルドを含められたす。 <details><summary><code>contact</code> fields</summary><table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>str</code></td><td>連絡先の個人/組織を識別する名前です。</td></tr><tr><td><code>url</code></td><td><code>str</code></td><td>連絡先情報を指すURLです。URL圢匏である必芁がありたす。</td></tr><tr><td><code>email</code></td><td><code>str</code></td><td>連絡先の個人/組織のメヌルアドレスです。メヌルアドレス圢匏である必芁がありたす。</td></tr></tbody></table></details> |
-| `license_info` | `dict` | å…¬é–‹ã•れるAPIのラむセンス情報です。耇数のフィヌルドを含められたす。 <details><summary><code>license_info</code> fields</summary><table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>str</code></td><td><strong>必須</strong><code>license_info</code> ãŒèš­å®šã•れおいる堎合。APIに䜿甚されるラむセンス名です。</td></tr><tr><td><code>identifier</code></td><td><code>str</code></td><td>APIの <a href="https://spdx.org/licenses/" class="external-link" target="_blank">SPDX</a> ãƒ©ã‚€ã‚»ãƒ³ã‚¹åŒã§ã™ã€‚<code>identifier</code> ãƒ•ィヌルドは <code>url</code> ãƒ•ィヌルドず同時に指定できたせん。 <small>OpenAPI 3.1.0、FastAPI 0.99.0 ä»¥é™ã§åˆ©ç”šã§ããŸã™ã€‚</small></td></tr><tr><td><code>url</code></td><td><code>str</code></td><td>APIに䜿甚されるラむセンスぞのURLです。URL圢匏である必芁がありたす。</td></tr></tbody></table></details> |
+| `license_info` | `dict` | å…¬é–‹ã•れるAPIのラむセンス情報です。耇数のフィヌルドを含められたす。 <details><summary><code>license_info</code> fields</summary><table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>str</code></td><td><strong>必須</strong><code>license_info</code> ãŒèš­å®šã•れおいる堎合。APIに䜿甚されるラむセンス名です。</td></tr><tr><td><code>identifier</code></td><td><code>str</code></td><td>APIの [SPDX](https://spdx.org/licenses/) ãƒ©ã‚€ã‚»ãƒ³ã‚¹åŒã§ã™ã€‚<code>identifier</code> ãƒ•ィヌルドは <code>url</code> ãƒ•ィヌルドず同時に指定できたせん。 <small>OpenAPI 3.1.0、FastAPI 0.99.0 ä»¥é™ã§åˆ©ç”šã§ããŸã™ã€‚</small></td></tr><tr><td><code>url</code></td><td><code>str</code></td><td>APIに䜿甚されるラむセンスぞのURLです。URL圢匏である必芁がありたす。</td></tr></tbody></table></details> |
 
 ä»¥äž‹ã®ã‚ˆã†ã«èš­å®šã§ããŸã™:
 
@@ -76,7 +76,7 @@ OpenAPI 3.1.0 ãŠã‚ˆã³ FastAPI 0.99.0 ä»¥é™ã§ã¯ã€`license_info` ã‚’ `url` 
 
 /// info | æƒ…å ±
 
-タグの詳现は [Path Operation Configuration](path-operation-configuration.md#tags){.internal-link target=_blank} ã‚’参照しおください。
+タグの詳现は [Path Operation ã®èš­å®š](path-operation-configuration.md#tags) ã‚’参照しおください。
 
 ///
 
index 103d6e2c06a4915b3e37b213b0cf7b533b3f06b7..20192d0805d9b5e3f77807d9958b692e02265995 100644 (file)
@@ -15,7 +15,7 @@
 
 `yield` ã‚’䜿った䟝存関係をも぀堎合は、終了コヌドはミドルりェアの *埌に* å®Ÿè¡Œã•れたす。
 
-バックグラりンドタスク ([バックグラりンドタスク](background-tasks.md){.internal-link target=_blank} ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§èª¬æ˜Žã—たす。埌で確認できたす) ãŒã‚る堎合は、それらは党おのミドルりェアの *埌に* å®Ÿè¡Œã•れたす。
+バックグラりンドタスク ([バックグラりンドタスク](background-tasks.md) ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§èª¬æ˜Žã—たす。埌で確認できたす) ãŒã‚る堎合は、それらは党おのミドルりェアの *埌に* å®Ÿè¡Œã•れたす。
 
 ///
 
@@ -35,9 +35,9 @@
 
 /// tip | è±†çŸ¥è­˜
 
-カスタムの独自ヘッダヌは <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers" class="external-link" target="_blank">`X-` ãƒ—レフィックスを䜿甚</a>しお远加できる点に泚意しおください。
+カスタムの独自ヘッダヌは [`X-` ãƒ—レフィックスを䜿甚](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers)しお远加できる点に泚意しおください。
 
-ただし、ブラりザのクラむアントに衚瀺させたいカスタムヘッダヌがある堎合は、<a href="https://www.starlette.dev/middleware/#corsmiddleware" class="external-link" target="_blank">StarletteのCORSドキュメント</a>に蚘茉されおいるパラメヌタ `expose_headers` ã‚’䜿甚しお、それらをCORS蚭定に远加する必芁がありたす ([CORS (Cross-Origin Resource Sharing)](cors.md){.internal-link target=_blank})。
+ただし、ブラりザのクラむアントに衚瀺させたいカスタムヘッダヌがある堎合は、[CORS (Cross-Origin Resource Sharing)](cors.md) ã®èš­å®šã«ã€[StarletteのCORSドキュメント](https://www.starlette.dev/middleware/#corsmiddleware)に蚘茉されおいるパラメヌタ `expose_headers` ã‚’䜿甚しお、それらを远加する必芁がありたす。
 
 ///
 
@@ -61,7 +61,7 @@
 
 /// tip | è±†çŸ¥è­˜
 
-ここでは、これらのナヌスケヌスに察しおより正確になり埗るため、`time.time()` ã®ä»£ã‚ã‚Šã« <a href="https://docs.python.org/3/library/time.html#time.perf_counter" class="external-link" target="_blank">`time.perf_counter()`</a> ã‚’䜿甚しおいたす。 ðŸ€“
+ここでは、これらのナヌスケヌスに察しおより正確になり埗るため、`time.time()` ã®ä»£ã‚ã‚Šã« [`time.perf_counter()`](https://docs.python.org/3/library/time.html#time.perf_counter) ã‚’䜿甚しおいたす。 ðŸ€“
 
 ///
 
@@ -90,6 +90,6 @@ app.add_middleware(MiddlewareB)
 
 ## ãã®ä»–のミドルりェア { #other-middlewares }
 
-他のミドルりェアの詳现に぀いおは、[高床なナヌザヌガむド: é«˜åºŠãªãƒŸãƒ‰ãƒ«ã‚Šã‚§ã‚¢](../advanced/middleware.md){.internal-link target=_blank}を参照しおください。
+他のミドルりェアの詳现に぀いおは、[高床なナヌザヌガむド: é«˜åºŠãªãƒŸãƒ‰ãƒ«ã‚Šã‚§ã‚¢](../advanced/middleware.md)を参照しおください。
 
 æ¬¡ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§ã¯ã€ãƒŸãƒ‰ãƒ«ã‚Šã‚§ã‚¢ã‚’䜿甚しお <abbr title="Cross-Origin Resource Sharing - ã‚¯ãƒ­ã‚¹ã‚ªãƒªã‚žãƒ³ãƒªã‚œãƒŒã‚¹å…±æœ‰">CORS</abbr> ã‚’凊理する方法に぀いお説明したす。
index 556cc6b148b2cb5dda83776a88f365f4f6b65938..25a2783ea19f790be875b4151fc2ed4767587911 100644 (file)
@@ -58,7 +58,7 @@
 
 èª¬æ˜Žæ–‡ã¯é•·ããŠè€‡æ•°è¡Œã«ãŠã‚ˆã¶å‚Ÿå‘があるので、関数<dfn title="関数内の最初の匏どの倉数にも代入されないずしお蚘述される、ドキュメント甚の耇数行の文字列">docstring</dfn>内に*path operation*の説明文を宣蚀できたす。するず、**FastAPI** ã¯èª¬æ˜Žæ–‡ã‚’読み蟌んでくれたす。
 
-docstringに<a href="https://en.wikipedia.org/wiki/Markdown" class="external-link" target="_blank">Markdown</a>を蚘述すれば、正しく解釈されお衚瀺されたす。docstringのむンデントを考慮しお
+docstringに[Markdown](https://en.wikipedia.org/wiki/Markdown)を蚘述すれば、正しく解釈されお衚瀺されたす。docstringのむンデントを考慮しお
 
 {* ../../docs_src/path_operation_configuration/tutorial004_py310.py hl[17:25] *}
 
index ab3240f042c46efbf1686ddc3bb9998ebf4205cd..55930eece2eb147bcc3f768c5a18de59ef8f533b 100644 (file)
@@ -14,7 +14,7 @@ FastAPI ã¯ãƒãƒŒã‚žãƒ§ãƒ³ 0.95.0 ã§`Annotated`のサポヌトを远加し
 
 å€ã„バヌゞョンの堎合、`Annotated`を䜿おうずするず゚ラヌになりたす。
 
-`Annotated`を䜿甚する前に、FastAPI ã®ãƒãƒŒã‚žãƒ§ãƒ³ã‚’少なくずも 0.95.1 ãŸã§[アップグレヌドしおください](../deployment/versions.md#upgrading-the-fastapi-versions){.internal-link target=_blank}。
+`Annotated`を䜿甚する前に、FastAPI ã®ãƒãƒŒã‚žãƒ§ãƒ³ã‚’少なくずも 0.95.1 ãŸã§[アップグレヌドしおください](../deployment/versions.md#upgrading-the-fastapi-versions)。
 
 ///
 
@@ -122,7 +122,7 @@ Pythonはその`*`で䜕かをするこずはありたせんが、それ以降
 
 ## ãŸãšã‚ { #recap }
 
-`Query`ず`Path`そしおただ芋たこずない他のものでは、[ク゚リパラメヌタず文字列の怜蚌](query-params-str-validations.md){.internal-link target=_blank}ず同じようにメタデヌタず文字列の怜蚌を宣蚀するこずができたす。
+`Query`ず`Path`そしおただ芋たこずない他のものでは、[ク゚リパラメヌタず文字列の怜蚌](query-params-str-validations.md)ず同じようにメタデヌタず文字列の怜蚌を宣蚀するこずができたす。
 
 ãŸãŸã€æ•°å€€ã®ãƒãƒªãƒ‡ãƒŒã‚·ãƒ§ãƒ³ã‚’宣蚀するこずもできたす:
 
index 5b78eb7b1f4c651be03d9814cf2181f428b128f2..8556b1c3751845d74f8ab8e660feb63f538191e3 100644 (file)
@@ -6,7 +6,7 @@ Pythonのformat文字列ず同様のシンタックスで「パスパラメヌ
 
 ãƒ‘スパラメヌタ `item_id` ã®å€€ã¯ã€åŒ•æ•° `item_id` ãšã—お関数に枡されたす。
 
-したがっお、この䟋を実行しお <a href="http://127.0.0.1:8000/items/foo" class="external-link" target="_blank">http://127.0.0.1:8000/items/foo</a> ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšã€æ¬¡ã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãŒè¡šç€ºã•れたす。
+したがっお、この䟋を実行しお [http://127.0.0.1:8000/items/foo](http://127.0.0.1:8000/items/foo) ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšã€æ¬¡ã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãŒè¡šç€ºã•れたす。
 
 ```JSON
 {"item_id":"foo"}
@@ -28,7 +28,7 @@ Pythonのformat文字列ず同様のシンタックスで「パスパラメヌ
 
 ## ãƒ‡ãƒŒã‚¿<dfn title="別名: ã‚·ãƒªã‚¢ãƒ©ã‚€ã‚ºã€ãƒ‘ヌス、マヌシャリング">倉換</dfn> { #data-conversion }
 
-この䟋を実行し、ブラりザで <a href="http://127.0.0.1:8000/items/3" class="external-link" target="_blank">http://127.0.0.1:8000/items/3</a> ã‚’開くず、次のレスポンスが衚瀺されたす:
+この䟋を実行し、ブラりザで [http://127.0.0.1:8000/items/3](http://127.0.0.1:8000/items/3) ã‚’開くず、次のレスポンスが衚瀺されたす:
 
 ```JSON
 {"item_id":3}
@@ -44,7 +44,7 @@ Pythonのformat文字列ず同様のシンタックスで「パスパラメヌ
 
 ## ãƒ‡ãƒŒã‚¿ãƒãƒªãƒ‡ãƒŒã‚·ãƒ§ãƒ³ { #data-validation }
 
-しかしブラりザで <a href="http://127.0.0.1:8000/items/foo" class="external-link" target="_blank">http://127.0.0.1:8000/items/foo</a> ã‚’開くず、次のHTTP゚ラヌが衚瀺されたす:
+しかしブラりザで [http://127.0.0.1:8000/items/foo](http://127.0.0.1:8000/items/foo) ã‚’開くず、次のHTTP゚ラヌが衚瀺されたす:
 
 ```JSON
 {
@@ -64,7 +64,7 @@ Pythonのformat文字列ず同様のシンタックスで「パスパラメヌ
 
 ã“れは、パスパラメヌタ `item_id` ãŒ `int` ã§ã¯ãªã„倀 `"foo"` ã ã‹ã‚‰ã§ã™ã€‚
 
-<a href="http://127.0.0.1:8000/items/4.2" class="external-link" target="_blank">http://127.0.0.1:8000/items/4.2</a> ã§èŠ‹ã‚‰ã‚Œã‚‹ã‚ˆã†ã«ã€`int` ã®ã‹ã‚ã‚Šã« `float` ãŒäžŽãˆã‚‰ã‚ŒãŸå Žåˆã«ã‚‚同様な゚ラヌが衚瀺されたす。
+[http://127.0.0.1:8000/items/4.2](http://127.0.0.1:8000/items/4.2) ã§èŠ‹ã‚‰ã‚Œã‚‹ã‚ˆã†ã«ã€`int` ã®ã‹ã‚ã‚Šã« `float` ãŒäžŽãˆã‚‰ã‚ŒãŸå Žåˆã«ã‚‚同様な゚ラヌが衚瀺されたす。
 
 /// check | ç¢ºèª
 
@@ -78,7 +78,7 @@ Pythonのformat文字列ず同様のシンタックスで「パスパラメヌ
 
 ## ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ { #documentation }
 
-そしおブラりザで <a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a> ã‚’開くず、以䞋の様な自動的に生成された察話的なAPIドキュメントが衚瀺されたす。
+そしおブラりザで [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) ã‚’開くず、以䞋の様な自動的に生成された察話的なAPIドキュメントが衚瀺されたす。
 
 <img src="/img/tutorial/path-params/image01.png">
 
@@ -92,9 +92,9 @@ Pythonのformat文字列ず同様のシンタックスで「パスパラメヌ
 
 ## æš™æº–ベヌスのメリット、ドキュメンテヌションの代替物 { #standards-based-benefits-alternative-documentation }
 
-たた、生成されたスキヌマが <a href="https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md" class="external-link" target="_blank">OpenAPI</a> æš™æº–に埓っおいるので、互換性のあるツヌルが倚数ありたす。
+たた、生成されたスキヌマが [OpenAPI](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md) æš™æº–に埓っおいるので、互換性のあるツヌルが倚数ありたす。
 
-このため、**FastAPI**自䜓が代替のAPIドキュメントを提䟛したすReDocを䜿甚。これは、 <a href="http://127.0.0.1:8000/redoc" class="external-link" target="_blank">http://127.0.0.1:8000/redoc</a> ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšç¢ºèªã§ããŸã™ã€‚
+このため、**FastAPI**自䜓が代替のAPIドキュメントを提䟛したすReDocを䜿甚。これは、 [http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc) ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãšç¢ºèªã§ããŸã™ã€‚
 
 <img src="/img/tutorial/path-params/image02.png">
 
@@ -102,7 +102,7 @@ Pythonのformat文字列ず同様のシンタックスで「パスパラメヌ
 
 ## Pydantic { #pydantic }
 
-すべおのデヌタバリデヌションは <a href="https://docs.pydantic.dev/" class="external-link" target="_blank">Pydantic</a> ã«ã‚ˆã£ãŠå†…郚で実行されるため、Pydanticの党おのメリットが埗られたす。そしお、安心しお利甚するこずができたす。
+すべおのデヌタバリデヌションは [Pydantic](https://docs.pydantic.dev/) ã«ã‚ˆã£ãŠå†…郚で実行されるため、Pydanticの党おのメリットが埗られたす。そしお、安心しお利甚するこずができたす。
 
 `str`、 `float` ã€ `bool` ãŠã‚ˆã³ä»–の倚くの耇雑なデヌタ型を型宣蚀に䜿甚できたす。
 
index dda4e120bf57ac6b46f9d705e0c6f79cb3801091..d340598019614ba7a72f3153a2c7fdae89f95dc5 100644 (file)
@@ -35,13 +35,13 @@ FastAPI ã¯ãƒãƒŒã‚žãƒ§ãƒ³ 0.95.0 ã§ `Annotated` ã®ã‚µãƒãƒŒãƒˆã‚’远加し
 
 å€ã„バヌゞョンの堎合、`Annotated` ã‚’䜿おうずするず゚ラヌになりたす。
 
-`Annotated` ã‚’䜿う前に、FastAPI ã®ãƒãƒŒã‚žãƒ§ãƒ³ã‚’少なくずも 0.95.1 ã«ã™ã‚‹ãŸã‚ã«ã€[FastAPI ã®ãƒãƒŒã‚žãƒ§ãƒ³ã‚’アップグレヌド](../deployment/versions.md#upgrading-the-fastapi-versions){.internal-link target=_blank}しおください。
+`Annotated` ã‚’䜿う前に、FastAPI ã®ãƒãƒŒã‚žãƒ§ãƒ³ã‚’少なくずも 0.95.1 ã«ã™ã‚‹ãŸã‚ã«ã€[FastAPI ã®ãƒãƒŒã‚žãƒ§ãƒ³ã‚’アップグレヌド](../deployment/versions.md#upgrading-the-fastapi-versions)しおください。
 
 ///
 
 ## `q` ãƒ‘ラメヌタの型で `Annotated` ã‚’䜿う { #use-annotated-in-the-type-for-the-q-parameter }
 
-以前、[Python Types Intro](../python-types.md#type-hints-with-metadata-annotations){.internal-link target=_blank} ã§ `Annotated` ã‚’䜿っおパラメヌタにメタデヌタを远加できるず説明したこずを芚えおいたすか
+以前、[Python Types Intro](../python-types.md#type-hints-with-metadata-annotations) ã§ `Annotated` ã‚’䜿っおパラメヌタにメタデヌタを远加できるず説明したこずを芚えおいたすか
 
 ã„よいよ FastAPI ã§äœ¿ã†ãšãã§ã™ã€‚ ðŸš€
 
@@ -158,7 +158,7 @@ FastAPI ãªã—で同じ関数を **別の堎所** ã‹ã‚‰ **呌び出しおも**
 
 `Annotated` ã‚’䜿わずに **叀いデフォルト倀スタむル** ã‚’䜿う堎合、FastAPI ãªã—でその関数を **別の堎所** ã§å‘Œã³å‡ºã™ãšãã€æ­£ã—く動かすために関数ぞ匕数を枡すこずを **芚えおおく** å¿…芁がありたす。そうしないず倀が期埅ず異なりたす䟋えば `str` ã®ä»£ã‚ã‚Šã« `QueryInfo` ã‹ã€ãã‚Œã«é¡žã™ã‚‹ã‚‚のになりたす。たた、゚ディタヌも譊告せず、Python ã‚‚その関数の実行で文句を蚀いたせん。内郚の凊理が゚ラヌになるずきに初めお問題が出たす。
 
-`Annotated` ã¯è€‡æ•°ã®ãƒ¡ã‚¿ãƒ‡ãƒŒã‚¿ã‚¢ãƒŽãƒ†ãƒŒã‚·ãƒ§ãƒ³ã‚’持おるので、<a href="https://typer.tiangolo.com/" class="external-link" target="_blank">Typer</a> ã®ã‚ˆã†ãªåˆ¥ãƒ„ヌルず同じ関数を䜿うこずもできたす。 ðŸš€
+`Annotated` ã¯è€‡æ•°ã®ãƒ¡ã‚¿ãƒ‡ãƒŒã‚¿ã‚¢ãƒŽãƒ†ãƒŒã‚·ãƒ§ãƒ³ã‚’持おるので、[Typer](https://typer.tiangolo.com/) ã®ã‚ˆã†ãªåˆ¥ãƒ„ヌルず同じ関数を䜿うこずもできたす。 ðŸš€
 
 ## ãƒãƒªãƒ‡ãƒŒã‚·ãƒ§ãƒ³ã‚’さらに远加する { #add-more-validations }
 
@@ -348,7 +348,7 @@ http://127.0.0.1:8000/items/?item-query=foobaritems
 
 ã•お、このパラメヌタが気に入らなくなったずしたしょう。
 
-それを䜿っおいるクラむアントがいるので、しばらくは残しおおく必芁がありたすが、ドキュメントには<abbr title="obsolete, recommended not to use it - å»ƒæ­¢äºˆå®šã€äœ¿ç”šã¯æŽšå¥šã•れたせん">deprecated</abbr>ず明蚘しおおきたいです。
+それを䜿っおいるクラむアントがいるので、しばらくは残しおおく必芁がありたすが、ドキュメントには<dfn title="廃止予定、䜿甚は掚奚されたせん">廃止予定</dfn>ず明蚘しおおきたいです。
 
 ãã®å Žåˆã€`Query`にパラメヌタ`deprecated=True`を枡したす:
 
@@ -370,11 +370,11 @@ http://127.0.0.1:8000/items/?item-query=foobaritems
 
 ãã®å Žåˆã€é€šåžžã®ãƒãƒªãƒ‡ãƒŒã‚·ãƒ§ãƒ³ïŒˆäŸ‹: å€€ãŒ `str` ã§ã‚るこずの怜蚌の埌に適甚される **カスタムバリデヌタ関数** ã‚’䜿えたす。
 
-これを行うには、`Annotated` ã®äž­ã§ <a href="https://docs.pydantic.dev/latest/concepts/validators/#field-after-validator" class="external-link" target="_blank">Pydantic ã® `AfterValidator`</a> ã‚’䜿いたす。
+これを行うには、`Annotated` ã®äž­ã§ [Pydantic ã® `AfterValidator`](https://docs.pydantic.dev/latest/concepts/validators/#field-after-validator) ã‚’䜿いたす。
 
 /// tip | è±†çŸ¥è­˜
 
-Pydantic ã«ã¯ <a href="https://docs.pydantic.dev/latest/concepts/validators/#field-before-validator" class="external-link" target="_blank">`BeforeValidator`</a> ãªã©ã‚‚ありたす。 ðŸ€“
+Pydantic ã«ã¯ [`BeforeValidator`](https://docs.pydantic.dev/latest/concepts/validators/#field-before-validator) ãªã©ã‚‚ありたす。 ðŸ€“
 
 ///
 
index d32c9822b8446bdcf42fdfaf5d9eaf38b1fa7bb1..51e4eb944f4d217b400236f223290286144001d6 100644 (file)
@@ -183,6 +183,6 @@ http://127.0.0.1:8000/items/foo-item?needy=sooooneedy
 
 /// tip | è±†çŸ¥è­˜
 
-[パスパラメヌタ](path-params.md#predefined-values){.internal-link target=_blank}ず同様に `Enum` ã‚’䜿甚できたす。
+[パスパラメヌタ](path-params.md#predefined-values)ず同様に `Enum` ã‚’䜿甚できたす。
 
 ///
index 538cf6474415f379644ee9bcf5c8a7724225f5be..30a494afb015a51ab3f0fae831cd79f0289b0e4f 100644 (file)
@@ -4,9 +4,9 @@
 
 /// info | æƒ…å ±
 
-アップロヌドされたファむルを受け取るには、たず <a href="https://github.com/Kludex/python-multipart" class="external-link" target="_blank">`python-multipart`</a> ã‚’むンストヌルしたす。
+アップロヌドされたファむルを受け取るには、たず [`python-multipart`](https://github.com/Kludex/python-multipart) ã‚’むンストヌルしたす。
 
-[仮想環境](../virtual-environments.md){.internal-link target=_blank}を䜜成しお有効化し、次のようにむンストヌルしおください:
+[仮想環境](../virtual-environments.md)を䜜成しお有効化し、次のようにむンストヌルしおください:
 
 ```console
 $ pip install python-multipart
@@ -63,8 +63,8 @@ $ pip install python-multipart
     - æœ€å€§ã‚µã‚€ã‚ºãŸã§ã¯ãƒ¡ãƒ¢ãƒªã«ä¿æŒã—、それを超えるずディスクに栌玍されるファむルです。
 - ãã®ãŸã‚ã€ç”»åƒãƒ»å‹•画・倧きなバむナリなどの倧きなファむルでも、メモリを䜿い果たすこずなくうたく動䜜したす。
 - ã‚¢ãƒƒãƒ—ロヌドされたファむルからメタデヌタを取埗できたす。
-- <a href="https://docs.python.org/3/glossary.html#term-file-like-object" class="external-link" target="_blank">file-like</a> ãª `async` ã‚€ãƒ³ã‚¿ãƒŒãƒ•ェヌスを持ちたす。
-- å®Ÿéš›ã® Python ã® <a href="https://docs.python.org/3/library/tempfile.html#tempfile.SpooledTemporaryFile" class="external-link" target="_blank">`SpooledTemporaryFile`</a> ã‚ªãƒ–ゞェクトを公開しおおり、file-like ã‚ªãƒ–ゞェクトを期埅する他のラむブラリにそのたた枡せたす。
+- [file-like](https://docs.python.org/3/glossary.html#term-file-like-object) ãª `async` ã‚€ãƒ³ã‚¿ãƒŒãƒ•ェヌスを持ちたす。
+- å®Ÿéš›ã® Python ã® [`SpooledTemporaryFile`](https://docs.python.org/3/library/tempfile.html#tempfile.SpooledTemporaryFile) ã‚ªãƒ–ゞェクトを公開しおおり、file-like ã‚ªãƒ–ゞェクトを期埅する他のラむブラリにそのたた枡せたす。
 
 ### `UploadFile` { #uploadfile }
 
@@ -72,7 +72,7 @@ $ pip install python-multipart
 
 - `filename`: ã‚¢ãƒƒãƒ—ロヌド時の元のファむル名を衚す `str`䟋: `myimage.jpg`
 - `content_type`: ã‚³ãƒ³ãƒ†ãƒ³ãƒˆã‚¿ã‚€ãƒ—MIME ã‚¿ã‚€ãƒ— / ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¿ã‚€ãƒ—を衚す `str`䟋: `image/jpeg`
-- `file`: <a href="https://docs.python.org/3/library/tempfile.html#tempfile.SpooledTemporaryFile" class="external-link" target="_blank">`SpooledTemporaryFile`</a><a href="https://docs.python.org/3/glossary.html#term-file-like-object" class="external-link" target="_blank">file-like</a> ãªã‚ªãƒ–ゞェクト。これは実際の Python ã®ãƒ•ァむルオブゞェクトで、「file-like」オブゞェクトを期埅する関数やラむブラリに盎接枡せたす。
+- `file`: [`SpooledTemporaryFile`](https://docs.python.org/3/library/tempfile.html#tempfile.SpooledTemporaryFile)[file-like](https://docs.python.org/3/glossary.html#term-file-like-object) ãªã‚ªãƒ–ゞェクト。これは実際の Python ã®ãƒ•ァむルオブゞェクトで、「file-like」オブゞェクトを期埅する関数やラむブラリに盎接枡せたす。
 
 `UploadFile` ã«ã¯æ¬¡ã® `async` ãƒ¡ã‚œãƒƒãƒ‰ãŒã‚りたす。いずれも内郚で察応するファむルメ゜ッド内郚の `SpooledTemporaryFile`を呌び出したす。
 
@@ -121,7 +121,7 @@ HTML ãƒ•ォヌム`<form></form>`がサヌバヌにデヌタを送る方法
 
 ãŸã ã—フォヌムにファむルが含たれる堎合は、`multipart/form-data` ãšã—お゚ンコヌドされたす。`File` ã‚’䜿うず、**FastAPI** ã¯ãƒœãƒ‡ã‚£å†…の正しい郚分からファむルを取埗すべきであるず認識したす。
 
-これらの゚ンコヌディングやフォヌムフィヌルドの詳现は、<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST" class="external-link" target="_blank"><abbr title="Mozilla Developer Network - Mozilla é–‹ç™ºè€…ネットワヌク">MDN</abbr> Web Docs ã® <code>POST</code></a> ã‚’参照しおください。
+これらの゚ンコヌディングやフォヌムフィヌルドの詳现は、[<abbr title="Mozilla Developer Network - Mozilla é–‹ç™ºè€…ネットワヌク">MDN</abbr> Web Docs ã® `POST`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) ã‚’参照しおください。
 
 ///
 
index 071867964b744ee3577ab12cc8d152514ac25f3b..62aa9e29856bbbaddd93abdcf254d529fef906a5 100644 (file)
@@ -1,12 +1,12 @@
 # ãƒ•ォヌムモデル { #form-models }
 
-FastAPI ã§ã¯ã€ãƒ•ォヌムフィヌルドを宣蚀するために Pydantic ãƒ¢ãƒ‡ãƒ«ã‚’䜿甚できたす。
+FastAPI ã§ã¯ã€ãƒ•ォヌムフィヌルドを宣蚀するために **Pydantic ãƒ¢ãƒ‡ãƒ«**を䜿甚できたす。
 
 /// info | æƒ…å ±
 
-フォヌムを䜿うには、たず <a href="https://github.com/Kludex/python-multipart" class="external-link" target="_blank">`python-multipart`</a> ã‚’むンストヌルしたす。
+フォヌムを䜿うには、たず [`python-multipart`](https://github.com/Kludex/python-multipart) ã‚’むンストヌルしたす。
 
-たず [仮想環境](../virtual-environments.md){.internal-link target=_blank} ã‚’䜜成しお有効化し、そのうえでむンストヌルしおください。䟋えば:
+たず [仮想環境](../virtual-environments.md) ã‚’䜜成しお有効化し、そのうえでむンストヌルしおください。䟋えば:
 
 ```console
 $ pip install python-multipart
index 9a4e299e91408f16dc42e5a7656cb7ecf314a25f..651f07ff0149b8997ac837c0cbe9fb2b87bbda95 100644 (file)
@@ -4,9 +4,9 @@
 
 /// info | æƒ…å ±
 
-アップロヌドされたファむルやフォヌムデヌタを受信するには、たず<a href="https://github.com/Kludex/python-multipart" class="external-link" target="_blank">`python-multipart`</a>をむンストヌルしたす。
+アップロヌドされたファむルやフォヌムデヌタを受信するには、たず[`python-multipart`](https://github.com/Kludex/python-multipart)をむンストヌルしたす。
 
-[仮想環境](../virtual-environments.md){.internal-link target=_blank}を䜜成し、それを有効化しおから、䟋えば次のようにむンストヌルしおください:
+[仮想環境](../virtual-environments.md)を䜜成し、それを有効化しおから、䟋えば次のようにむンストヌルしおください:
 
 ```console
 $ pip install python-multipart
index dda2a4bf7fd2238176e22dc9895ede7a34b41407..c6b2a921a613a03e4f4f2cb00a76a55dd286bcc4 100644 (file)
@@ -4,9 +4,9 @@ JSONの代わりにフィヌルドを受け取る堎合は、`Form`を䜿甚し
 
 /// info | æƒ…å ±
 
-フォヌムを䜿うためには、たず<a href="https://github.com/Kludex/python-multipart" class="external-link" target="_blank">`python-multipart`</a>をむンストヌルしたす。
+フォヌムを䜿うためには、たず[`python-multipart`](https://github.com/Kludex/python-multipart)をむンストヌルしたす。
 
-必ず[仮想環境](../virtual-environments.md){.internal-link target=_blank}を䜜成しお有効化しおから、䟋えば次のようにむンストヌルしおください:
+必ず[仮想環境](../virtual-environments.md)を䜜成しお有効化しおから、䟋えば次のようにむンストヌルしおください:
 
 ```console
 $ pip install python-multipart
@@ -56,7 +56,7 @@ HTMLフォヌム`<form></form>`がサヌバにデヌタを送信する方
 
 ã—かし、フォヌムがファむルを含む堎合は、`multipart/form-data`ずしお゚ンコヌドされたす。ファむルの扱いに぀いおは次の章で説明したす。
 
-これらの゚ンコヌディングやフォヌムフィヌルドの詳现に぀いおは、<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST" class="external-link" target="_blank"><abbr title="Mozilla Developer Network - Mozilla é–‹ç™ºè€…ネットワヌク">MDN</abbr>の<code>POST</code></a>のりェブドキュメントを参照しおください。
+これらの゚ンコヌディングやフォヌムフィヌルドの詳现に぀いおは、[<abbr title="Mozilla Developer Network - Mozilla é–‹ç™ºè€…ネットワヌク">MDN</abbr> ã® `POST` ã‚Šã‚§ãƒ–ドキュメント](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST)を参照しおください。
 
 ///
 
index 07dc2012332001a93231548f1944c8ad70485d84..b4024e0a02d0e0462f6123e199926400356d1622 100644 (file)
@@ -13,6 +13,7 @@ FastAPIはこの戻り倀の型を䜿っお以䞋を行いたす:
 * OpenAPIの *path operation* ã«ã€ãƒ¬ã‚¹ãƒãƒ³ã‚¹ç”šã® **JSON Schema** ã‚’远加したす。
     * ã“れは**自動ドキュメント**で䜿甚されたす。
     * è‡ªå‹•クラむアントコヌド生成ツヌルでも䜿甚されたす。
+* è¿”华デヌタを Pydantic ã‚’䜿っおJSONに**シリアラむズ**したす。Pydantic ã¯å†…郚が**Rust**で実装されおいるため、**非垞に高速**です。
 
 ã—かし、最も重芁なのは:
 
@@ -73,9 +74,9 @@ FastAPIはこの `response_model` ã‚’䜿っお、デヌタのドキュメント
 
 /// info | æƒ…å ±
 
-`EmailStr` ã‚’䜿甚するには、最初に <a href="https://github.com/JoshData/python-email-validator" class="external-link" target="_blank">`email-validator`</a> ã‚’むンストヌルしおください。
+`EmailStr` ã‚’䜿甚するには、最初に [`email-validator`](https://github.com/JoshData/python-email-validator) ã‚’むンストヌルしおください。
 
-[仮想環境](../virtual-environments.md){.internal-link target=_blank}を䜜成しお有効化しおから、䟋えば次のようにむンストヌルしおください:
+[仮想環境](../virtual-environments.md)を䜜成しお有効化しおから、䟋えば次のようにむンストヌルしおください:
 
 ```console
 $ pip install email-validator
@@ -181,7 +182,7 @@ Pydanticフィヌルドずしお有効ではないものを返し、ツヌル
 
 ### ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚’盎接返す { #return-a-response-directly }
 
-最も䞀般的なケヌスは、[高床なドキュメントで埌述する「Responseを盎接返す」](../advanced/response-directly.md){.internal-link target=_blank}堎合です。
+最も䞀般的なケヌスは、[高床なドキュメントで埌述する「Responseを盎接返す」](../advanced/response-directly.md)堎合です。
 
 {* ../../docs_src/response_model/tutorial003_02_py310.py hl[8,10:11] *}
 
@@ -257,7 +258,7 @@ Pydanticフィヌルドずしお有効ではないものを返し、ツヌル
 * `response_model_exclude_defaults=True`
 * `response_model_exclude_none=True`
 
-`exclude_defaults` ãš `exclude_none` ã«ã€ã„おは、<a href="https://docs.pydantic.dev/1.10/usage/exporting_models/#modeldict" class="external-link" target="_blank">Pydanticのドキュメント</a>で説明されおいる通りです。
+`exclude_defaults` ãš `exclude_none` ã«ã€ã„おは、[Pydanticのドキュメント](https://docs.pydantic.dev/1.10/usage/exporting_models/#modeldict)で説明されおいる通りです。
 
 ///
 
index d4ac45da653a0f83c9b93677cb62b3f6d4d55eca..9237ac784d6f269d05ca0b8340c386d947d95dc3 100644 (file)
@@ -20,7 +20,7 @@
 
 /// info | æƒ…å ±
 
-`status_code`は代わりに、Pythonの<a href="https://docs.python.org/3/library/http.html#http.HTTPStatus" class="external-link" target="_blank">`http.HTTPStatus`</a>のように、`IntEnum`を受け取るこずもできたす。
+`status_code`は代わりに、Pythonの[`http.HTTPStatus`](https://docs.python.org/3/library/http.html#http.HTTPStatus)のように、`IntEnum`を受け取るこずもできたす。
 
 ///
 
@@ -66,7 +66,7 @@ HTTPでは、レスポンスの䞀郚ずしお3桁の数字のステヌタスコ
 
 /// tip | è±†çŸ¥è­˜
 
-それぞれのステヌタスコヌドずどのコヌドが䜕のためのコヌドなのかに぀いお詳现は<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Status" class="external-link" target="_blank"><abbr title="Mozilla Developer Network">MDN</abbr> documentation about HTTP status codes</a>を参照しおください。
+それぞれのステヌタスコヌドずどのコヌドが䜕のためのコヌドなのかに぀いおの詳现は、[<abbr title="Mozilla Developer Network - Mozilla é–‹ç™ºè€…ネットワヌク">MDN</abbr> ã®HTTPステヌタスコヌドに関するドキュメント](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status)を参照しおください。
 
 ///
 
@@ -92,10 +92,10 @@ HTTPでは、レスポンスの䞀郚ずしお3桁の数字のステヌタスコ
 
 ãŸãŸã€`from starlette import status`を䜿うこずもできたす。
 
-**FastAPI** ã¯ã€`開発者の利䟿性を考慮しお、fastapi.status`ず同じ`starlette.status`を提䟛しおいたす。しかし、これはStarletteから盎接提䟛されおいたす。
+**FastAPI** ã¯ã€é–‹ç™ºè€…の利䟿性を考慮しお、fastapi.statusず同じ`starlette.status`を提䟛しおいたす。しかし、これはStarletteから盎接提䟛されおいたす。
 
 ///
 
 ## ãƒ‡ãƒ•ォルトの倉曎 { #changing-the-default }
 
-埌に、[高床なナヌザヌガむド](../advanced/response-change-status-code.md){.internal-link target=_blank}で、ここで宣蚀しおいるデフォルトずは異なるステヌタスコヌドを返す方法を芋おいきたす。
+埌に、[高床なナヌザヌガむド](../advanced/response-change-status-code.md)で、ここで宣蚀しおいるデフォルトずは異なるステヌタスコヌドを返す方法を芋おいきたす。
index 76a6b0f9494f366a3cf986e28fd54271ad486489..87ee85f4025a35109153ba0b7422e4e4eb6405b1 100644 (file)
@@ -12,7 +12,7 @@
 
 ãã®è¿œåŠ æƒ…å ±ã¯ã€ãã®ãƒ¢ãƒ‡ãƒ«ã®å‡ºåŠ›**JSON Schema**にそのたた远加され、APIドキュメントで䜿甚されたす。
 
-<a href="https://docs.pydantic.dev/latest/api/config/" class="external-link" target="_blank">Pydanticのドキュメント: Configuration</a>で説明されおいるように、`dict`を受け取る属性`model_config`を䜿甚できたす。
+[Pydanticのドキュメント: Configuration](https://docs.pydantic.dev/latest/api/config/)で説明されおいるように、`dict`を受け取る属性`model_config`を䜿甚できたす。
 
 ç”Ÿæˆã•れるJSON Schemaに衚瀺したい远加デヌタ`examples`を含むを含む`dict`を䜿っお、`"json_schema_extra"`を蚭定できたす。
 
@@ -145,12 +145,12 @@ JSON Schemaには`examples`がなかったため、OpenAPIは自身が改倉し
 
 OpenAPIは、仕様の他の郚分にも`example`ず`examples`フィヌルドを远加したした:
 
-* <a href="https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#parameter-object" class="external-link" target="_blank">`Parameter Object`仕様内</a>。FastAPIの以䞋で䜿甚されたした:
+* [`Parameter Object`仕様内](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#parameter-object)。FastAPIの以䞋で䜿甚されたした:
     * `Path()`
     * `Query()`
     * `Header()`
     * `Cookie()`
-* <a href="https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#media-type-object" class="external-link" target="_blank">`Request Body Object`。仕様内の`Media Type Object`の`content`フィヌルド仕様内</a>。FastAPIの以䞋で䜿甚されたした:
+* [`Request Body Object`、`Media Type Object`の`content`フィヌルド仕様内](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#media-type-object)。FastAPIの以䞋で䜿甚されたした:
     * `Body()`
     * `File()`
     * `Form()`
@@ -163,7 +163,7 @@ OpenAPIは、仕様の他の郚分にも`example`ず`examples`フィヌルドを
 
 ### JSON Schemaの`examples`フィヌルド { #json-schemas-examples-field }
 
-しかしその埌、JSON Schemaは新しいバヌゞョンの仕様に<a href="https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.9.5" class="external-link" target="_blank">`examples`</a>フィヌルドを远加したした。
+しかしその埌、JSON Schemaは新しいバヌゞョンの仕様に[`examples`](https://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.9.5)フィヌルドを远加したした。
 
 ãã—お、新しいOpenAPI 3.1.0は、この新しいフィヌルド`examples`を含む最新バヌゞョンJSON Schema 2020-12に基づくようになりたした。
 
index 5bf04386a81537e5bd10657b035df857b41b8699..e678ebce1cb02bbcdd7ff3306cdaf71e4376a0c5 100644 (file)
 
 /// info | æƒ…å ±
 
-<a href="https://github.com/Kludex/python-multipart" class="external-link" target="_blank">`python-multipart`</a> ãƒ‘ッケヌゞは、`pip install "fastapi[standard]"` ã‚³ãƒžãƒ³ãƒ‰ã‚’実行するず **FastAPI** ãšäž€ç·’に自動的にむンストヌルされたす。
+[`python-multipart`](https://github.com/Kludex/python-multipart) ãƒ‘ッケヌゞは、`pip install "fastapi[standard]"` ã‚³ãƒžãƒ³ãƒ‰ã‚’実行するず **FastAPI** ãšäž€ç·’に自動的にむンストヌルされたす。
 
 ã—かし、`pip install fastapi` ã‚³ãƒžãƒ³ãƒ‰ã‚’䜿甚する堎合、`python-multipart` ãƒ‘ッケヌゞはデフォルトでは含たれたせん。
 
-手動でむンストヌルするには、[仮想環境](../../virtual-environments.md){.internal-link target=_blank}を䜜成しお有効化し、次のコマンドでむンストヌルしおください:
+手動でむンストヌルするには、[仮想環境](../../virtual-environments.md)を䜜成しお有効化し、次のコマンドでむンストヌルしおください:
 
 ```console
 $ pip install python-multipart
@@ -45,7 +45,7 @@ $ pip install python-multipart
 <div class="termy">
 
 ```console
-$ fastapi dev main.py
+$ fastapi dev
 
 <span style="color: green;">INFO</span>:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
 ```
@@ -54,7 +54,7 @@ $ fastapi dev main.py
 
 ## ç¢ºèª { #check-it }
 
-次のむンタラクティブなドキュメントにアクセスしおください: <a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a>。
+次のむンタラクティブなドキュメントにアクセスしおください: [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs)。
 
 äž‹èš˜ã®ã‚ˆã†ã«èŠ‹ãˆã‚‹ã§ã—ã‚‡ã†:
 
@@ -140,7 +140,7 @@ OAuth2は、バック゚ンドやAPIがナヌザヌを認蚌するサヌバヌ
 
 ç›žå¯ŸURLを䜿っおいるので、APIが`https://example.com/`にある堎合、`https://example.com/token`を参照したす。しかし、APIが`https://example.com/api/v1/`にある堎合は`https://example.com/api/v1/token`を参照するこずになりたす。
 
-盞察 URL ã‚’䜿うこずは、[プロキシの背埌](../../advanced/behind-a-proxy.md){.internal-link target=_blank}のような高床なナヌスケヌスでもアプリケヌションを動䜜させ続けるために重芁です。
+盞察 URL ã‚’䜿うこずは、[プロキシの背埌](../../advanced/behind-a-proxy.md)のような高床なナヌスケヌスでもアプリケヌションを動䜜させ続けるために重芁です。
 
 ///
 
index 0d6be90a24bfec1d975b9a1d589fee930402339f..9c527121ea1ddab56a883bd10ea871105aa228d8 100644 (file)
@@ -24,13 +24,13 @@ eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4
 
 1週間埌、トヌクンが期限切れずなるずどうなるでしょうかナヌザヌは認可されず、新しいトヌクンを埗るために再びサむンむンしなければなりたせん。たた、ナヌザヌたたは第䞉者がトヌクンを修正しお有効期限を倉曎しようずした堎合、眲名が䞀臎しないため、トヌクンの修正を怜知できたす。
 
-JWT ãƒˆãƒŒã‚¯ãƒ³ã‚’䜿っお遊んでみたいずいう方は、<a href="https://jwt.io/" class="external-link" target="_blank">https://jwt.io</a> ã‚’チェックしおください。
+JWT ãƒˆãƒŒã‚¯ãƒ³ã‚’䜿っお遊んでみたいずいう方は、[https://jwt.io](https://jwt.io/) ã‚’チェックしおください。
 
 ## `PyJWT` ã®ã‚€ãƒ³ã‚¹ãƒˆãƒŒãƒ« { #install-pyjwt }
 
 PythonでJWTトヌクンの生成ず怜蚌を行うために、`PyJWT`をむンストヌルする必芁がありたす。
 
-[仮想環境](../../virtual-environments.md){.internal-link target=_blank}を䜜成し、アクティベヌトしおから、`pyjwt`をむンストヌルしおください。
+[仮想環境](../../virtual-environments.md)を䜜成し、アクティベヌトしおから、`pyjwt`をむンストヌルしおください。
 
 <div class="termy">
 
@@ -46,7 +46,7 @@ $ pip install pyjwt
 
 RSAやECDSAのようなデゞタル眲名アルゎリズムを䜿甚する予定がある堎合は、cryptographyラむブラリの䟝存関係`pyjwt[crypto]`をむンストヌルしおください。
 
-詳现は<a href="https://pyjwt.readthedocs.io/en/latest/installation.html" class="external-link" target="_blank">PyJWT Installation docs</a>で確認できたす。
+詳现は[PyJWT Installation docs](https://pyjwt.readthedocs.io/en/latest/installation.html)で確認できたす。
 
 ///
 
@@ -72,7 +72,7 @@ pwdlib ã¯ã€ãƒ‘スワヌドのハッシュを凊理するための優れたPyth
 
 æŽšå¥šã•れるアルゎリズムは「Argon2」です。
 
-[仮想環境](../../virtual-environments.md){.internal-link target=_blank}を䜜成し、アクティベヌトしおから、Argon2付きでpwdlibをむンストヌルしおください。
+[仮想環境](../../virtual-environments.md)を䜜成し、アクティベヌトしおから、Argon2付きでpwdlibをむンストヌルしおください。
 
 <div class="termy">
 
@@ -200,7 +200,7 @@ IDの衝突を回避するために、ナヌザヌのJWTトヌクンを䜜成す
 
 ## ç¢ºèª { #check-it }
 
-サヌバヌを実行し、ドキュメントに移動したす<a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a>。
+サヌバヌを実行し、ドキュメントに移動したす[http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs)。
 
 æ¬¡ã®ã‚ˆã†ãªãƒŠãƒŒã‚¶ãƒŒã‚€ãƒ³ã‚¿ãƒŒãƒ•ェむスが衚瀺されたす
 
index c371b0acf6afcae2c4ebc54073519c3e4aef0b29..842cd02e5be560218ab053cfdaffb710e759a42e 100644 (file)
@@ -146,7 +146,7 @@ UserInDB(
 
 /// info | æƒ…å ±
 
-`**user_dict` ã®ã‚ˆã‚Šå®Œå…šãªè§£èª¬ã¯ã€[**远加モデル**のドキュメント](../extra-models.md#about-user-in-dict){.internal-link target=_blank}を参照しおください。
+`**user_dict` ã®ã‚ˆã‚Šå®Œå…šãªè§£èª¬ã¯ã€[**远加モデル**のドキュメント](../extra-models.md#about-user-in-dict)を参照しおください。
 
 ///
 
@@ -188,7 +188,7 @@ UserInDB(
 
 ã‚¢ã‚¯ãƒ†ã‚£ãƒ–なナヌザヌの堎合にのみ `current_user` ã‚’取埗したいずしたす。
 
-そこで、`get_current_user` ã‚’䟝存関係ずしお利甚する远加の䟝存関係 `get_current_active_user` ã‚’䜜成したす。
+そこで、`get_current_active_user` ã‚’䟝存関係ずしお利甚する远加の䟝存関係 `get_current_active_user` ã‚’䜜成したす。
 
 ã“れら2぀の䟝存関係は、ナヌザヌが存圚しない、たたは非アクティブである堎合に、HTTP゚ラヌを返すだけです。
 
@@ -216,7 +216,7 @@ HTTP゚ラヌステヌタスコヌド 401「UNAUTHORIZED」は、`WWW-Auth
 
 ## å‹•䜜確認 { #see-it-in-action }
 
-むンタラクティブドキュメントを開きたす: <a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a>。
+むンタラクティブドキュメントを開きたす: [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs)。
 
 ### èªèšŒ { #authenticate }
 
index 930e433de41b2fece44816118dcbdde8b9f96fcf..13c71fdb2a3703bb010d587e1b33467a37665fe2 100644 (file)
@@ -2,9 +2,9 @@
 
 FastAPI ã¯ SQLリレヌショナルデヌタベヌスの䜿甚を必須にはしたせん。必芁であれば、任意のデヌタベヌスを䜿甚できたす。
 
-ここでは <a href="https://sqlmodel.tiangolo.com/" class="external-link" target="_blank">SQLModel</a> ã‚’䜿った䟋を芋おいきたす。
+ここでは [SQLModel](https://sqlmodel.tiangolo.com/) ã‚’䜿った䟋を芋おいきたす。
 
-SQLModel ã¯ <a href="https://www.sqlalchemy.org/" class="external-link" target="_blank">SQLAlchemy</a> ãš Pydantic ã®äžŠã«æ§‹ç¯‰ã•れおいたす。FastAPI ãšåŒã˜äœœè€…により、SQL ãƒ‡ãƒŒã‚¿ãƒ™ãƒŒã‚¹ã‚’䜿う必芁がある FastAPI ã‚¢ãƒ—リに最適になるように䜜られおいたす。
+SQLModel ã¯ [SQLAlchemy](https://www.sqlalchemy.org/) ãš Pydantic ã®äžŠã«æ§‹ç¯‰ã•れおいたす。FastAPI ãšåŒã˜äœœè€…により、SQL ãƒ‡ãƒŒã‚¿ãƒ™ãƒŒã‚¹ã‚’䜿う必芁がある FastAPI ã‚¢ãƒ—リに最適になるように䜜られおいたす。
 
 /// tip | è±†çŸ¥è­˜
 
@@ -26,15 +26,15 @@ SQLModel ã¯ SQLAlchemy ã‚’ベヌスにしおいるため、SQLAlchemy ãŒã‚µãƒ
 
 /// tip | è±†çŸ¥è­˜
 
-フロント゚ンドやその他のツヌルを含む、FastAPI ãš PostgreSQL ã®å…¬åŒãƒ—ロゞェクトゞェネレヌタヌがありたす: <a href="https://github.com/fastapi/full-stack-fastapi-template" class="external-link" target="_blank">https://github.com/fastapi/full-stack-fastapi-template</a>
+フロント゚ンドやその他のツヌルを含む、FastAPI ãš PostgreSQL ã®å…¬åŒãƒ—ロゞェクトゞェネレヌタヌがありたす: [https://github.com/fastapi/full-stack-fastapi-template](https://github.com/fastapi/full-stack-fastapi-template)
 
 ///
 
-これはずおもシンプルで短いチュヌトリアルです。デヌタベヌスや SQL、より高床な機胜に぀いお孊びたい堎合は、<a href="https://sqlmodel.tiangolo.com/" class="external-link" target="_blank">SQLModel ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ</a>をご芧ください。
+これはずおもシンプルで短いチュヌトリアルです。デヌタベヌスや SQL、より高床な機胜に぀いお孊びたい堎合は、[SQLModel ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ](https://sqlmodel.tiangolo.com/)をご芧ください。
 
 ## `SQLModel` ã®ã‚€ãƒ³ã‚¹ãƒˆãƒŒãƒ« { #install-sqlmodel }
 
-たずは [仮想環境](../virtual-environments.md){.internal-link target=_blank} ã‚’䜜成・有効化し、`sqlmodel` ã‚’むンストヌルしたす:
+たずは [仮想環境](../virtual-environments.md) ã‚’䜜成・有効化し、`sqlmodel` ã‚’むンストヌルしたす:
 
 <div class="termy">
 
@@ -65,7 +65,7 @@ $ pip install sqlmodel
 
 * `Field(primary_key=True)` ã¯ `id` ãŒ SQL ãƒ‡ãƒŒã‚¿ãƒ™ãƒŒã‚¹ã®ãƒ—ラむマリキヌであるこずを SQLModel ã«äŒãˆãŸã™ïŒˆSQL ã®ãƒ—ラむマリキヌに぀いおは SQLModel ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’参照しおください。
 
-    æ³š: ãƒ—ラむマリキヌのフィヌルドには `int | None` ã‚’䜿っおいたす。これは Python ã‚³ãƒŒãƒ‰å†…で `id=None` ã®ã‚ˆã†ã«ã€Œ`id` ãªã—でオブゞェクトを䜜成」し、保存時にデヌタベヌスが生成するこずを想定するためです。SQLModel ã¯ãƒ‡ãƒŒã‚¿ãƒ™ãƒŒã‚¹ãŒ `id` ã‚’提䟛するこずを理解し、スキヌマでは「NULL äžå¯ã® `INTEGER` åˆ—」を定矩したす。詳现は <a href="https://sqlmodel.tiangolo.com/tutorial/create-db-and-table/#primary-key-id" class="external-link" target="_blank">SQLModel ã®ãƒ—ラむマリキヌに関するドキュメント</a> ã‚’参照しおください。
+    æ³š: ãƒ—ラむマリキヌのフィヌルドには `int | None` ã‚’䜿っおいたす。これは Python ã‚³ãƒŒãƒ‰å†…で `id=None` ã®ã‚ˆã†ã«ã€Œ`id` ãªã—でオブゞェクトを䜜成」し、保存時にデヌタベヌスが生成するこずを想定するためです。SQLModel ã¯ãƒ‡ãƒŒã‚¿ãƒ™ãƒŒã‚¹ãŒ `id` ã‚’提䟛するこずを理解し、スキヌマでは「NULL äžå¯ã® `INTEGER` åˆ—」を定矩したす。詳现は [SQLModel ã®ãƒ—ラむマリキヌに関するドキュメント](https://sqlmodel.tiangolo.com/tutorial/create-db-and-table/#primary-key-id) ã‚’参照しおください。
 
 * `Field(index=True)` ã¯ã€ã“の列に察しお SQL ã®ã‚€ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’䜜成するよう SQLModel ã«æŒ‡ç€ºã—たす。これにより、この列でフィルタしおデヌタを読む堎合に怜玢が高速になりたす。
 
@@ -111,7 +111,7 @@ SQLModel ã® `engine`内郚的には SQLAlchemy ã® `engine`は、デヌ
 
 /// tip | è±†çŸ¥è­˜
 
-SQLModel ã¯ Alembic ã‚’ラップしたマむグレヌションナヌティリティを提䟛予定ですが、珟時点では <a href="https://alembic.sqlalchemy.org/en/latest/" class="external-link" target="_blank">Alembic</a> ã‚’盎接䜿えたす。
+SQLModel ã¯ Alembic ã‚’ラップしたマむグレヌションナヌティリティを提䟛予定ですが、珟時点では [Alembic](https://alembic.sqlalchemy.org/en/latest/) ã‚’盎接䜿えたす。
 
 ///
 
@@ -152,7 +152,7 @@ SQLModel ã¯ Alembic ã‚’ラップしたマむグレヌションナヌティリ
 <div class="termy">
 
 ```console
-$ fastapi dev main.py
+$ fastapi dev
 
 <span style="color: green;">INFO</span>:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
 ```
@@ -337,7 +337,7 @@ SQLModel ã§ã¯ç¶™æ‰¿ã‚’䜿っお、あらゆるケヌスでフィヌルドの
 <div class="termy">
 
 ```console
-$ fastapi dev main.py
+$ fastapi dev
 
 <span style="color: green;">INFO</span>:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
 ```
@@ -352,6 +352,6 @@ $ fastapi dev main.py
 
 ## ãŸãšã‚ { #recap }
 
-<a href="https://sqlmodel.tiangolo.com/" class="external-link" target="_blank">SQLModel</a> ã‚’䜿っお SQL ãƒ‡ãƒŒã‚¿ãƒ™ãƒŒã‚¹ãšã‚„り取りし、デヌタモデルずテヌブルモデルでコヌドを簡朔にできたす。
+[SQLModel](https://sqlmodel.tiangolo.com/) ã‚’䜿っお SQL ãƒ‡ãƒŒã‚¿ãƒ™ãƒŒã‚¹ãšã‚„り取りし、デヌタモデルずテヌブルモデルでコヌドを簡朔にできたす。
 
-さらに倚くを孊ぶには SQLModel ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’ご芧ください。<a href="https://sqlmodel.tiangolo.com/tutorial/fastapi/" class="external-link" target="_blank">FastAPI ãš SQLModel ã‚’䜿うチュヌトリアル</a> ã‚‚ありたす。🚀
+さらに倚くを孊ぶには SQLModel ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’ご芧ください。[FastAPI ãš SQLModel ã‚’䜿うチュヌトリアル](https://sqlmodel.tiangolo.com/tutorial/fastapi/) ã‚‚ありたす。🚀
index 52e28d6b054997487dd57fd130117051cb61680a..81f281c2ebcf9f753f4c82ec1cb79ba1a710c8a3 100644 (file)
@@ -23,7 +23,7 @@
 
 ã“れは、マりントされたアプリケヌションが完党に独立しおいるため、`APIRouter` ãšã¯ç•°ãªã‚ŠãŸã™ã€‚メむンアプリケヌションのOpenAPIずドキュメントには、マりントされたアプリケヌションの内容などは含たれたせん。
 
-これに぀いお詳しくは、[高床なナヌザヌガむド](../advanced/index.md){.internal-link target=_blank} ã‚’ご芧ください。
+これに぀いお詳しくは、[高床なナヌザヌガむド](../advanced/index.md) ã‚’ご芧ください。
 
 ## è©³çް { #details }
 
@@ -37,4 +37,4 @@
 
 ## ã‚ˆã‚Šè©³ã—い情報 { #more-info }
 
-詳现ずオプションに぀いおは、<a href="https://www.starlette.dev/staticfiles/" class="external-link" target="_blank">Starletteの静的ファむルに関するドキュメント</a>を確認しおください。
+詳现ずオプションに぀いおは、[Starletteの静的ファむルに関するドキュメント](https://www.starlette.dev/staticfiles/)を確認しおください。
index b09f1af723ecf7cf20767cdc2dafddfd66d68239..0277d73b74ba829780a13290bdf63503762c3dab 100644 (file)
@@ -1,18 +1,18 @@
 # ãƒ†ã‚¹ãƒˆ { #testing }
 
-<a href="https://www.starlette.dev/testclient/" class="external-link" target="_blank">Starlette</a> ã®ãŠã‹ã’で、**FastAPI** ã‚¢ãƒ—リケヌションのテストは簡単で楜しいものになっおいたす。
+[Starlette](https://www.starlette.dev/testclient/) ã®ãŠã‹ã’で、**FastAPI** ã‚¢ãƒ—リケヌションのテストは簡単で楜しいものになっおいたす。
 
-<a href="https://www.python-httpx.org" class="external-link" target="_blank">HTTPX</a> ãŒãƒ™ãƒŒã‚¹ã§ã€ã•らにその蚭蚈は Requests ã‚’ベヌスにしおいるため、ずおも銎染みがあり盎感的です。
+[HTTPX](https://www.python-httpx.org) ãŒãƒ™ãƒŒã‚¹ã§ã€ã•らにその蚭蚈は Requests ã‚’ベヌスにしおいるため、ずおも銎染みがあり盎感的です。
 
-これを䜿甚するず、**FastAPI** ãšå…±ã« <a href="https://docs.pytest.org/" class="external-link" target="_blank">pytest</a> ã‚’盎接利甚できたす。
+これを䜿甚するず、**FastAPI** ãšå…±ã« [pytest](https://docs.pytest.org/) ã‚’盎接利甚できたす。
 
 ## `TestClient` ã‚’䜿甚 { #using-testclient }
 
-/// info | æƒ…å ±
+/// info
 
-`TestClient` ã‚’䜿甚するには、たず <a href="https://www.python-httpx.org" class="external-link" target="_blank">`httpx`</a> ã‚’むンストヌルしたす。
+`TestClient` ã‚’䜿甚するには、たず [`httpx`](https://www.python-httpx.org) ã‚’むンストヌルしたす。
 
-[仮想環境](../virtual-environments.md){.internal-link target=_blank} ã‚’䜜成し、それを有効化しおから、䟋えば以䞋のようにむンストヌルしおください:
+[仮想環境](../virtual-environments.md) ã‚’䜜成し、それを有効化しおから、䟋えば以䞋のようにむンストヌルしおください:
 
 ```console
 $ pip install httpx
@@ -32,7 +32,7 @@ $ pip install httpx
 
 {* ../../docs_src/app_testing/tutorial001_py310.py hl[2,12,15:18] *}
 
-/// tip | è±†çŸ¥è­˜
+/// tip
 
 ãƒ†ã‚¹ãƒˆé–¢æ•°ã¯ `async def` ã§ã¯ãªãã€é€šåžžã® `def` ã§ã‚るこずに泚意しおください。
 
@@ -50,9 +50,9 @@ $ pip install httpx
 
 ///
 
-/// tip | è±†çŸ¥è­˜
+/// tip
 
-FastAPIアプリケヌションぞのリク゚ストの送信ずは別に、テストで `async` é–¢æ•° (非同期デヌタベヌス関数など) ã‚’呌び出したい堎合は、高床なチュヌトリアルの[Async Tests](../advanced/async-tests.md){.internal-link target=_blank} ã‚’参照しおください。
+FastAPIアプリケヌションぞのリク゚ストの送信ずは別に、テストで `async` é–¢æ•° (非同期デヌタベヌス関数など) ã‚’呌び出したい堎合は、高床なチュヌトリアルの[Async Tests](../advanced/async-tests.md) ã‚’参照しおください。
 
 ///
 
@@ -64,7 +64,7 @@ FastAPIアプリケヌションぞのリク゚ストの送信ずは別に、テ
 
 ### **FastAPI** ã‚¢ãƒ—リファむル { #fastapi-app-file }
 
-[Bigger Applications](bigger-applications.md){.internal-link target=_blank} ã§èª¬æ˜Žã•れおいる、次のようなファむル構成があるずしたす:
+[Bigger Applications](bigger-applications.md) ã§èª¬æ˜Žã•れおいる、次のようなファむル構成があるずしたす:
 
 ```
 .
@@ -142,13 +142,13 @@ FastAPIアプリケヌションぞのリク゚ストの送信ずは別に、テ
 * *ヘッダヌ* ã‚’枡すには、`headers` ãƒ‘ラメヌタに `dict` ã‚’枡したす。
 * *cookies* ã®å Žåˆã€ `cookies` ãƒ‘ラメヌタに `dict` ã§ã™ã€‚
 
-(`httpx` ãŸãŸã¯ `TestClient` ã‚’䜿甚しお) ãƒãƒƒã‚¯ã‚šãƒ³ãƒ‰ã«ãƒ‡ãƒŒã‚¿ã‚’枡す方法の詳现は、<a href="https://www.python-httpx.org" class="external-link" target="_blank">HTTPXのドキュメント</a>を確認しおください。
+(`httpx` ãŸãŸã¯ `TestClient` ã‚’䜿甚しお) ãƒãƒƒã‚¯ã‚šãƒ³ãƒ‰ã«ãƒ‡ãƒŒã‚¿ã‚’枡す方法の詳现は、[HTTPXのドキュメント](https://www.python-httpx.org)を確認しおください。
 
-/// info | æƒ…å ±
+/// info
 
 `TestClient` ã¯ã€Pydanticモデルではなく、JSONに倉換できるデヌタを受け取るこずに泚意しおください。
 
-テストにPydanticモデルがあり、テスト䞭にそのデヌタをアプリケヌションに送信したい堎合は、[JSON互換゚ンコヌダ](encoder.md){.internal-link target=_blank} ã§èª¬æ˜Žã•れおいる `jsonable_encoder` ãŒåˆ©ç”šã§ããŸã™ã€‚
+テストにPydanticモデルがあり、テスト䞭にそのデヌタをアプリケヌションに送信したい堎合は、[JSON互換゚ンコヌダ](encoder.md) ã§èª¬æ˜Žã•れおいる `jsonable_encoder` ãŒåˆ©ç”šã§ããŸã™ã€‚
 
 ///
 
@@ -156,7 +156,7 @@ FastAPIアプリケヌションぞのリク゚ストの送信ずは別に、テ
 
 ãã®åŸŒã€`pytest` ã‚’むンストヌルするだけです。
 
-[仮想環境](../virtual-environments.md){.internal-link target=_blank} ã‚’䜜成し、それを有効化しおから、䟋えば以䞋のようにむンストヌルしおください:
+[仮想環境](../virtual-environments.md) ã‚’䜜成し、それを有効化しおから、䟋えば以䞋のようにむンストヌルしおください:
 
 <div class="termy">
 
index 94af6ddae28b3cebe739cdcc46d3e814bf08c8c4..21b7cd47271ab9423d71069f7da0250b14fc4db4 100644 (file)
@@ -21,7 +21,7 @@ Pythonプロゞェクトの䜜業では、**仮想環境**たたは類䌌の
 /// info | æƒ…å ±
 ã“のペヌゞでは、**仮想環境**の䜿甚方法ず、そのはたらきに぀いお説明したす。
 
-もし**すべおを管理するツヌル**Pythonのむンストヌルも含むを導入する準備ができおいるなら、<a href="https://github.com/astral-sh/uv" class="external-link" target="_blank">uv</a> ã‚’お詊しください。
+もし**すべおを管理するツヌル**Pythonのむンストヌルも含むを導入する準備ができおいるなら、[uv](https://github.com/astral-sh/uv) ã‚’お詊しください。
 
 ///
 
@@ -83,7 +83,7 @@ $ python -m venv .venv
 
 //// tab | `uv`
 
-もし <a href="https://github.com/astral-sh/uv" class="external-link" target="_blank">`uv`</a> ã‚’むンストヌル枈みなら、仮想環境を䜜成するために `uv` ã‚’䜿うこずもできたす。
+もし [`uv`](https://github.com/astral-sh/uv) ã‚’むンストヌル枈みなら、仮想環境を䜜成するために `uv` ã‚’䜿うこずもできたす。
 
 <div class="termy">
 
@@ -147,7 +147,7 @@ $ .venv\Scripts\Activate.ps1
 
 //// tab | Windows Bash
 
-もしWindowsでBashを䜿甚しおいる堎合 (<a href="https://gitforwindows.org/" class="external-link" target="_blank">Git Bash</a>など):
+もしWindowsでBashを䜿甚しおいる堎合 ([Git Bash](https://gitforwindows.org/)など):
 
 <div class="termy">
 
@@ -213,7 +213,7 @@ C:\Users\user\code\awesome-project\.venv\Scripts\python
 
 /// tip | è±†çŸ¥è­˜
 
-もし <a href="https://github.com/astral-sh/uv" class="external-link" target="_blank">`uv`</a> ã‚’䜿甚しおいる堎合は、 `pip` ã®ä»£ã‚ã‚Šã« `uv` ã‚’䜿っおむンストヌルを行うため、 `pip` ã‚’アップグレヌドする必芁はありたせん ðŸ˜Žã€‚
+もし [`uv`](https://github.com/astral-sh/uv) ã‚’䜿甚しおいる堎合は、 `pip` ã®ä»£ã‚ã‚Šã« `uv` ã‚’䜿っおむンストヌルを行うため、 `pip` ã‚’アップグレヌドする必芁はありたせん ðŸ˜Žã€‚
 
 ///
 
@@ -265,7 +265,7 @@ $ python -m ensurepip --upgrade
 
 /// tip | è±†çŸ¥è­˜
 
-もし <a href="https://github.com/astral-sh/uv" class="external-link" target="_blank">`uv`</a> ã‚’䜿甚しお仮想環境を䜜成した堎合、すでにこの䜜業は枈んでいるので、この手順をスキップできたす ðŸ˜Žã€‚
+もし [`uv`](https://github.com/astral-sh/uv) ã‚’䜿甚しお仮想環境を䜜成した堎合、すでにこの䜜業は枈んでいるので、この手順をスキップできたす ðŸ˜Žã€‚
 
 ///
 
@@ -337,7 +337,7 @@ $ pip install "fastapi[standard]"
 
 //// tab | `uv`
 
-もし <a href="https://github.com/astral-sh/uv" class="external-link" target="_blank">`uv`</a> ã‚’䜿甚できるなら:
+もし [`uv`](https://github.com/astral-sh/uv) ã‚’䜿甚できるなら:
 
 <div class="termy">
 
@@ -369,7 +369,7 @@ $ pip install -r requirements.txt
 
 //// tab | `uv`
 
-もし <a href="https://github.com/astral-sh/uv" class="external-link" target="_blank">`uv`</a> ã‚’䜿甚できるなら:
+もし [`uv`](https://github.com/astral-sh/uv) ã‚’䜿甚できるなら:
 
 <div class="termy">
 
@@ -413,8 +413,8 @@ Hello World
 
 èš­å®šäŸ‹:
 
-* <a href="https://code.visualstudio.com/docs/python/environments#_select-and-activate-an-environment" class="external-link" target="_blank">VS Code</a>
-* <a href="https://www.jetbrains.com/help/pycharm/creating-virtual-environment.html" class="external-link" target="_blank">PyCharm</a>
+* [VS Code](https://code.visualstudio.com/docs/python/environments#_select-and-activate-an-environment)
+* [PyCharm](https://www.jetbrains.com/help/pycharm/creating-virtual-environment.html)
 
 /// tip | è±†çŸ¥è­˜
 
@@ -452,7 +452,7 @@ $ deactivate
 
 ## ãªãœä»®æƒ³ç’°å¢ƒïŒŸ { #why-virtual-environments }
 
-FastAPIを䜿った䜜業をするには、<a href="https://www.python.org/" class="external-link" target="_blank">Python</a> ã®ã‚€ãƒ³ã‚¹ãƒˆãƒŒãƒ«ãŒå¿…芁です。
+FastAPIを䜿った䜜業をするには、[Python](https://www.python.org/) ã®ã‚€ãƒ³ã‚¹ãƒˆãƒŒãƒ«ãŒå¿…芁です。
 
 ãã‚Œã‹ã‚‰ã€FastAPIや、䜿甚したいその他の**パッケヌゞ**を**むンストヌル**する必芁がありたす。
 
@@ -561,7 +561,7 @@ $ pip install "fastapi[standard]"
 
 </div>
 
-FastAPIのコヌドを含む圧瞮ファむルが、通垞は <a href="https://pypi.org/project/fastapi/" class="external-link" target="_blank">PyPI</a> ã‹ã‚‰ãƒ€ã‚Šãƒ³ãƒ­ãƒŒãƒ‰ã•れたす。
+FastAPIのコヌドを含む圧瞮ファむルが、通垞は [PyPI](https://pypi.org/project/fastapi/) ã‹ã‚‰ãƒ€ã‚Šãƒ³ãƒ­ãƒŒãƒ‰ã•れたす。
 
 ãŸãŸã€FastAPIが䟝存する他のパッケヌゞも**ダりンロヌド**されたす。
 
@@ -624,7 +624,7 @@ $ .venv\Scripts\Activate.ps1
 
 //// tab | Windows Bash
 
-あるいは、WindowsでBashを䜿甚しおいる堎合 (<a href="https://gitforwindows.org/" class="external-link" target="_blank">Git Bash</a>など):
+あるいは、WindowsでBashを䜿甚しおいる堎合 ([Git Bash](https://gitforwindows.org/)など):
 
 <div class="termy">
 
@@ -636,13 +636,13 @@ $ source .venv/Scripts/activate
 
 ////
 
-これによっお、いく぀かの [環境倉数](environment-variables.md){.internal-link target=_blank} ãŒäœœæˆãƒ»ä¿®æ­£ã•れ、次に実行されるコマンドで䜿甚できるようになりたす。
+これによっお、いく぀かの [環境倉数](environment-variables.md) ãŒäœœæˆãƒ»ä¿®æ­£ã•れ、次に実行されるコマンドで䜿甚できるようになりたす。
 
 ã“れらの環境倉数のひず぀に、 `PATH` å€‰æ•°ãŒã‚りたす。
 
 /// tip | è±†çŸ¥è­˜
 
-`PATH` å€‰æ•°ã«ã€ã„おの詳现は [環境倉数](environment-variables.md#path-environment-variable){.internal-link target=_blank} ã‚’参照しおください。
+`PATH` å€‰æ•°ã«ã€ã„おの詳现は [環境倉数](environment-variables.md#path-environment-variable) ã‚’参照しおください。
 
 ///
 
@@ -835,7 +835,7 @@ I solemnly swear ðŸº
 
 ä»®æƒ³ç’°å¢ƒã€ãƒ‘ッケヌゞの䟝存関係requirements、プロゞェクトの管理には、倚くの**代替手段**がありたす。
 
-準備が敎い、パッケヌゞの䟝存関係、仮想環境など**プロゞェクト党䜓の管理**ツヌルを䜿いたいず考えたら、<a href="https://github.com/astral-sh/uv" class="external-link" target="_blank">uv</a> ã‚’詊しおみるこずをおすすめしたす。
+準備が敎い、パッケヌゞの䟝存関係、仮想環境など**プロゞェクト党䜓の管理**ツヌルを䜿いたいず考えたら、[uv](https://github.com/astral-sh/uv) ã‚’詊しおみるこずをおすすめしたす。
 
 `uv` ã§ã¯ä»¥äž‹ã®ã‚ˆã†ãªå€šãã®ã“ずができたす