diff --git a/docs/ja/docs/advanced/additional-responses.md b/docs/ja/docs/advanced/additional-responses.md index 1d7c2f80e..ad0b1d4c9 100644 --- a/docs/ja/docs/advanced/additional-responses.md +++ b/docs/ja/docs/advanced/additional-responses.md @@ -34,7 +34,7 @@ FastAPI はそのモデルから JSON Schema を生成し、OpenAPI の適切な /// -/// info | 情報 +/// note | 備考 `model` キーは OpenAPI の一部ではありません。 @@ -183,7 +183,7 @@ FastAPI はそこから Pydantic モデルを取得して JSON Schema を生成 /// -/// info | 情報 +/// note | 備考 `responses` パラメータで明示的に別のメディアタイプを指定しない限り、FastAPI はレスポンスがメインのレスポンスクラスと同じメディアタイプ(デフォルトは `application/json`)であるとみなします。 diff --git a/docs/ja/docs/advanced/advanced-dependencies.md b/docs/ja/docs/advanced/advanced-dependencies.md index 5181e39d8..13c796373 100644 --- a/docs/ja/docs/advanced/advanced-dependencies.md +++ b/docs/ja/docs/advanced/advanced-dependencies.md @@ -98,7 +98,7 @@ FastAPI 0.118.0 より前では、`yield` を使う依存関係を使用する この挙動は 0.118.0 で元に戻され、`yield` の後の終了コードはレスポンス送信後に実行されるようになりました。 -/// info | 情報 +/// note | 備考 以下で見るように、これはバージョン 0.106.0 より前の挙動ととても似ていますが、いくつかのコーナーケースに対する改良とバグ修正が含まれています。 diff --git a/docs/ja/docs/advanced/custom-response.md b/docs/ja/docs/advanced/custom-response.md index e66b1f494..34178a50e 100644 --- a/docs/ja/docs/advanced/custom-response.md +++ b/docs/ja/docs/advanced/custom-response.md @@ -41,7 +41,7 @@ FastAPI はデフォルトでJSONレスポンスを返します。 {* ../../docs_src/custom_response/tutorial002_py310.py hl[2,7] *} -/// info | 情報 +/// note | 備考 パラメータ `response_class` は、レスポンスの「メディアタイプ」を定義するためにも使用されます。 @@ -65,7 +65,7 @@ FastAPI はデフォルトでJSONレスポンスを返します。 /// -/// info | 情報 +/// note | 備考 もちろん、実際の `Content-Type` ヘッダーやステータスコードなどは、返した `Response` オブジェクトに由来します。 diff --git a/docs/ja/docs/advanced/dataclasses.md b/docs/ja/docs/advanced/dataclasses.md index e3ad7afb6..42627c4ed 100644 --- a/docs/ja/docs/advanced/dataclasses.md +++ b/docs/ja/docs/advanced/dataclasses.md @@ -18,7 +18,7 @@ FastAPI は **Pydantic** の上に構築されており、これまでにリク これは Pydantic モデルの場合と同じように動作します。内部的にも同様に Pydantic を使って実現されています。 -/// info | 情報 +/// note | 備考 dataclasses は、Pydantic モデルができることをすべては行えない点に留意してください。 diff --git a/docs/ja/docs/advanced/events.md b/docs/ja/docs/advanced/events.md index e2cbe2eb0..f7dcf3b58 100644 --- a/docs/ja/docs/advanced/events.md +++ b/docs/ja/docs/advanced/events.md @@ -120,7 +120,7 @@ async with lifespan(app): ここでは、`shutdown` のイベントハンドラ関数が、テキスト行 `"Application shutdown"` をファイル `log.txt` に書き込みます。 -/// info | 情報 +/// note | 情報 `open()` 関数の `mode="a"` は「追加」(append)を意味します。つまり、そのファイルに既にある内容を上書きせず、行が後ろに追記されます。 @@ -152,7 +152,7 @@ async with lifespan(app): 内部的には、ASGI の技術仕様において、これは [Lifespan プロトコル](https://asgi.readthedocs.io/en/latest/specs/lifespan.html) の一部であり、`startup` と `shutdown` というイベントが定義されています。 -/// info | 情報 +/// note | 情報 Starlette の `lifespan` ハンドラについては、[Starlette の Lifespan ドキュメント](https://www.starlette.dev/lifespan/)で詳しく読むことができます。 diff --git a/docs/ja/docs/advanced/generate-clients.md b/docs/ja/docs/advanced/generate-clients.md index eee8575f6..42a60b787 100644 --- a/docs/ja/docs/advanced/generate-clients.md +++ b/docs/ja/docs/advanced/generate-clients.md @@ -31,7 +31,6 @@ FastAPI は自動的に **OpenAPI 3.1** の仕様を生成します。したが 例えば、次のようなものがあります: * [Stainless](https://www.stainless.com/?utm_source=fastapi&utm_medium=referral) -* [liblab](https://developers.liblab.com/tutorials/sdk-for-fastapi?utm_source=fastapi) これらのソリューションの中にはオープンソースや無料枠を提供するものもあり、金銭的コミットメントなしで試すことができます。他の商用 SDK ジェネレータも存在し、オンラインで見つけられます。🤓 diff --git a/docs/ja/docs/advanced/openapi-callbacks.md b/docs/ja/docs/advanced/openapi-callbacks.md index 31d17e270..5bc90c68e 100644 --- a/docs/ja/docs/advanced/openapi-callbacks.md +++ b/docs/ja/docs/advanced/openapi-callbacks.md @@ -167,13 +167,13 @@ JSON ボディは次のような内容です: これで、上で作成したコールバック用ルーター内に、必要なコールバックの *path operation(s)*(*外部開発者* が *外部 API* に実装すべきもの)が用意できました。 -次に、*あなたの API の path operation デコレータ*の `callbacks` パラメータに、そのコールバック用ルーターの属性 `.routes`(実体はルート/*path operations* の `list`)を渡します: +次に、*あなたの API の path operation デコレータ*の `callbacks` パラメータに、そのコールバック用ルーターの属性 `.routes` を渡します: {* ../../docs_src/openapi_callbacks/tutorial001_py310.py hl[33] *} /// tip | 豆知識 -`callback=` に渡すのはルーター本体(`invoices_callback_router`)ではなく、属性 `.routes`(`invoices_callback_router.routes`)である点に注意してください。 +`callbacks=` に渡すのはルーター本体(`invoices_callback_router`)ではなく、属性 `.routes`(`invoices_callback_router.routes`)である点に注意してください。FastAPI はそれらのルートを使ってコールバックの OpenAPI ドキュメントを生成します。 /// diff --git a/docs/ja/docs/advanced/openapi-webhooks.md b/docs/ja/docs/advanced/openapi-webhooks.md index 7f7a72680..f559de13b 100644 --- a/docs/ja/docs/advanced/openapi-webhooks.md +++ b/docs/ja/docs/advanced/openapi-webhooks.md @@ -22,7 +22,7 @@ Webhook の URL を登録する方法や実際にリクエストを送るコー これにより、ユーザーがあなたの **Webhook** リクエストを受け取るための**API を実装**するのが大幅に簡単になります。場合によっては、ユーザーが自分たちの API コードを自動生成できるかもしれません。 -/// info | 情報 +/// note | 備考 Webhook は OpenAPI 3.1.0 以上で利用可能で、FastAPI `0.99.0` 以上が対応しています。 @@ -36,7 +36,7 @@ Webhook は OpenAPI 3.1.0 以上で利用可能で、FastAPI `0.99.0` 以上が 定義した webhook は **OpenAPI** スキーマおよび自動生成される **ドキュメント UI** に反映されます。 -/// info | 情報 +/// note | 備考 `app.webhooks` オブジェクトは実際には単なる `APIRouter` で、複数ファイルでアプリを構成する際に使うものと同じ型です。 diff --git a/docs/ja/docs/advanced/path-operation-advanced-configuration.md b/docs/ja/docs/advanced/path-operation-advanced-configuration.md index 65b56dba4..bc08092f8 100644 --- a/docs/ja/docs/advanced/path-operation-advanced-configuration.md +++ b/docs/ja/docs/advanced/path-operation-advanced-configuration.md @@ -16,17 +16,11 @@ OpenAPIの「エキスパート」でなければ、これはおそらく必要 ### *path operation関数* の名前をoperationIdとして使用する { #using-the-path-operation-function-name-as-the-operationid } -APIの関数名を `operationId` として利用したい場合、すべてのAPI関数をイテレーションし、各 *path operation* の `operation_id` を `APIRoute.name` で上書きすれば可能です。 +API の関数名を `operationId` として使いたい場合は、`FastAPI` にカスタムの `generate_unique_id_function` を渡せます。 -すべての *path operation* を追加した後に行うべきです。 +この関数は各 `APIRoute` を受け取り、その *path operation* で使う `operationId` を返します。 -{* ../../docs_src/path_operation_advanced_configuration/tutorial002_py310.py hl[2, 12:21, 24] *} - -/// tip | 豆知識 - -`app.openapi()` を手動で呼び出す場合、その前に `operationId` を更新するべきです。 - -/// +{* ../../docs_src/path_operation_advanced_configuration/tutorial002_py310.py hl[2,5:6,9] *} /// warning | 注意 diff --git a/docs/ja/docs/advanced/response-directly.md b/docs/ja/docs/advanced/response-directly.md index b5c9fc5cb..366eed2b9 100644 --- a/docs/ja/docs/advanced/response-directly.md +++ b/docs/ja/docs/advanced/response-directly.md @@ -18,7 +18,7 @@ 実際は、`Response` やそのサブクラスを返すことができます。 -/// info +/// note `JSONResponse` それ自体は、`Response` のサブクラスです。 diff --git a/docs/ja/docs/advanced/security/oauth2-scopes.md b/docs/ja/docs/advanced/security/oauth2-scopes.md index 3afc26e3a..cab7f8deb 100644 --- a/docs/ja/docs/advanced/security/oauth2-scopes.md +++ b/docs/ja/docs/advanced/security/oauth2-scopes.md @@ -46,7 +46,7 @@ OpenAPI(例: API ドキュメント)では、「セキュリティスキー - `instagram_basic` は Facebook / Instagram で使われています。 - `https://www.googleapis.com/auth/drive` は Google で使われています。 -/// info | 情報 +/// note | 備考 OAuth2 において「スコープ」は、必要な特定の権限を宣言する単なる文字列です。 @@ -126,7 +126,7 @@ OAuth2 にとっては、単に文字列に過ぎません。 {* ../../docs_src/security/tutorial005_an_py310.py hl[5,141,172] *} -/// info | 技術詳細 +/// note | 技術詳細 `Security` は実際には `Depends` のサブクラスで、後述する追加パラメータが 1 つあるだけです。 diff --git a/docs/ja/docs/advanced/stream-data.md b/docs/ja/docs/advanced/stream-data.md index 52bbfd3fd..820f2d8b6 100644 --- a/docs/ja/docs/advanced/stream-data.md +++ b/docs/ja/docs/advanced/stream-data.md @@ -4,7 +4,7 @@ JSON として構造化できるデータをストリームしたい場合は、 しかし、純粋なバイナリデータや文字列をストリームしたい場合は、次のようにできます。 -/// info | 情報 +/// note | 情報 FastAPI 0.134.0 で追加されました。 @@ -90,7 +90,7 @@ FastAPI は各データチャンクをそのまま `StreamingResponse` に渡し また、多くの場合、ディスクやネットワークから読み出すため、読み取りはブロッキング(イベントループをブロックし得る)処理になります。 -/// info | 情報 +/// note | 情報 上記の例は例外で、`io.BytesIO` は既にメモリ上にあるため、読み取りが何かをブロックすることはありません。 diff --git a/docs/ja/docs/advanced/strict-content-type.md b/docs/ja/docs/advanced/strict-content-type.md index 994cb8672..a21832fec 100644 --- a/docs/ja/docs/advanced/strict-content-type.md +++ b/docs/ja/docs/advanced/strict-content-type.md @@ -81,7 +81,7 @@ http://localhost:8000/v1/agents/multivac この設定では、`Content-Type` ヘッダーがないリクエストでもボディが JSON として解析されます。これは古いバージョンの FastAPI と同じ挙動です。 -/// info | 情報 +/// note | 備考 この挙動と設定は FastAPI 0.132.0 で追加されました。 diff --git a/docs/ja/docs/advanced/websockets.md b/docs/ja/docs/advanced/websockets.md index 802110b58..b310adfe9 100644 --- a/docs/ja/docs/advanced/websockets.md +++ b/docs/ja/docs/advanced/websockets.md @@ -111,7 +111,7 @@ WebSocketエンドポイントでは、`fastapi` から以下をインポート {* ../../docs_src/websockets_/tutorial002_an_py310.py hl[68:69,82] *} -/// info | 情報 +/// note | 備考 これはWebSocketであるため、`HTTPException` を発生させることはあまり意味がありません。代わりに `WebSocketException` を発生させます。 diff --git a/docs/ja/docs/advanced/wsgi.md b/docs/ja/docs/advanced/wsgi.md index 6895eb658..bab1ae3bf 100644 --- a/docs/ja/docs/advanced/wsgi.md +++ b/docs/ja/docs/advanced/wsgi.md @@ -6,7 +6,7 @@ ## `WSGIMiddleware` の使用 { #using-wsgimiddleware } -/// info | 情報 +/// note | 備考 これには `a2wsgi` のインストールが必要です。例: `pip install a2wsgi`。 diff --git a/docs/ja/docs/deployment/docker.md b/docs/ja/docs/deployment/docker.md index 6248e69b7..91ca7d8d8 100644 --- a/docs/ja/docs/deployment/docker.md +++ b/docs/ja/docs/deployment/docker.md @@ -132,7 +132,7 @@ Successfully installed fastapi pydantic -/// info | 情報 +/// note | 備考 パッケージの依存関係を定義しインストールするためのフォーマットやツールは他にもあります。 @@ -417,7 +417,7 @@ CMD ["fastapi", "run", "main.py", "--port", "80"] コンテナという観点から、[デプロイのコンセプト](concepts.md)に共通するいくつかについて、もう一度説明しましょう。 -コンテナは主に、アプリケーションの**ビルドとデプロイ**のプロセスを簡素化するためのツールですが、これらの**デプロイのコンセプト**を扱うための特定のアプローチを強制するものではなく、いくつかの戦略があります。 +コンテナは主に、アプリケーションの**ビルドとデプロイ**のプロセスを簡素化するための工具ですが、これらの**デプロイのコンセプト**を扱うための特定のアプローチを強制するものではなく、いくつかの戦略があります。 **良いニュース**は、それぞれの異なる戦略には、すべてのデプロイメントのコンセプトをカバーする方法があるということです。🎉 @@ -562,7 +562,7 @@ Docker Composeで**単一サーバ**(クラスタではない)にデプロ 複数の**コンテナ**があり、おそらくそれぞれが**単一のプロセス**を実行している場合(例えば、**Kubernetes**クラスタなど)、レプリケートされたワーカーコンテナを実行する**前に**、単一のコンテナで**事前のステップ**の作業を行う**別のコンテナ**を持ちたいと思うでしょう。 -/// info | 情報 +/// note | 備考 もしKubernetesを使用している場合, これはおそらく[Init Container](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/)でしょう。 diff --git a/docs/ja/docs/deployment/fastapicloud.md b/docs/ja/docs/deployment/fastapicloud.md index 3dd5685a2..d8c1cb2ec 100644 --- a/docs/ja/docs/deployment/fastapicloud.md +++ b/docs/ja/docs/deployment/fastapicloud.md @@ -1,26 +1,6 @@ # FastAPI Cloud { #fastapi-cloud } -[FastAPI Cloud](https://fastapicloud.com) に **コマンド1つ** でデプロイできます。まだならウェイティングリストにご登録ください。🚀 - -## ログイン { #login } - -すでに **FastAPI Cloud** アカウントをお持ちであることを確認してください(ウェイティングリストからご招待しています 😉)。 - -次にログインします: - -
- -```console -$ fastapi login - -You are logged in to FastAPI Cloud 🚀 -``` - -
- -## デプロイ { #deploy } - -では、**コマンド1つ** でアプリをデプロイします: +[FastAPI Cloud](https://fastapicloud.com) に **コマンド1つ** で FastAPI アプリをデプロイできます。🚀
@@ -36,6 +16,8 @@ Deploying to FastAPI Cloud...
+CLI は FastAPI アプリケーションを自動検出してクラウドにデプロイします。ログインしていない場合は、認証を完了するためにブラウザが開きます。 + 以上です!その URL からアプリにアクセスできます。✨ ## FastAPI Cloud について { #about-fastapi-cloud } diff --git a/docs/ja/docs/deployment/manually.md b/docs/ja/docs/deployment/manually.md index 1c0d59a71..1d2e79709 100644 --- a/docs/ja/docs/deployment/manually.md +++ b/docs/ja/docs/deployment/manually.md @@ -56,7 +56,6 @@ FastAPI は、Python の Web フレームワークとサーバーのための標 * [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 } diff --git a/docs/ja/docs/deployment/server-workers.md b/docs/ja/docs/deployment/server-workers.md index c4c6e9355..55cf2d247 100644 --- a/docs/ja/docs/deployment/server-workers.md +++ b/docs/ja/docs/deployment/server-workers.md @@ -17,7 +17,7 @@ ここでは、`fastapi` コマンド、または `uvicorn` コマンドを直接使って、**ワーカープロセス**付きの **Uvicorn** を使う方法を紹介します。 -/// info | 情報 +/// note DockerやKubernetesなどのコンテナを使用している場合は、次の章で詳しく説明します: [コンテナ内のFastAPI - Docker](docker.md)。 diff --git a/docs/ja/docs/how-to/extending-openapi.md b/docs/ja/docs/how-to/extending-openapi.md index e9ef9923f..9b2fabc60 100644 --- a/docs/ja/docs/how-to/extending-openapi.md +++ b/docs/ja/docs/how-to/extending-openapi.md @@ -25,9 +25,17 @@ - `openapi_version`: 使用する OpenAPI 仕様のバージョン。デフォルトは最新の `3.1.0`。 - `summary`: API の短い概要。 - `description`: API の説明。Markdown を含めることができ、ドキュメントに表示されます。 -- `routes`: ルートのリスト。登録済みの各 path operation です。`app.routes` から取得されます。 +- `routes`: アプリケーションのルート。`app.routes` から取得されます。FastAPI はこれらを使用して、登録済みの path operation(取り込んだルーター由来のものも含む)を収集します。 -/// info | 情報 +/// tip | 技術詳細 + +`app.routes` はより低レベルなルートツリーです。最終的な `APIRoute` オブジェクトだけでなく、FastAPI が内部で使用する、取り込まれたルーター向けの候補ルートも含まれることがあります。 + +それでも `app.routes` を `get_openapi()` に渡せます。FastAPI はそのルートツリーを走査して、有効な path operation を収集します。 + +/// + +/// note | 備考 パラメータ `summary` は OpenAPI 3.1.0 以降で利用可能で、FastAPI 0.99.0 以降が対応しています。 diff --git a/docs/ja/docs/how-to/separate-openapi-schemas.md b/docs/ja/docs/how-to/separate-openapi-schemas.md index 46df2aafb..dbbb76300 100644 --- a/docs/ja/docs/how-to/separate-openapi-schemas.md +++ b/docs/ja/docs/how-to/separate-openapi-schemas.md @@ -41,7 +41,7 @@ ドキュメントから試してレスポンスを確認すると、コードでは一方の `description` フィールドに何も追加していないにもかかわらず、JSON レスポンスにはデフォルト値(`null`)が含まれています:
- +
つまりそのフィールドには **常に値があります**。値が `None`(JSON では `null`)になることがあるだけです。 @@ -72,7 +72,7 @@ 一方、`Item-Output` では、`description` は **必須**(赤いアスタリスクあり)です。
- +
この **Pydantic v2** の機能により、API ドキュメントはより **正確** になり、自動生成されたクライアントや SDK もより正確になります。これにより、より良い **開発者エクスペリエンス** と一貫性が得られます。🎉 @@ -85,7 +85,7 @@ その場合は、**FastAPI** のパラメータ `separate_input_output_schemas=False` でこの機能を無効化できます。 -/// info | 情報 +/// note | 備考 `separate_input_output_schemas` のサポートは FastAPI `0.102.0` で追加されました。🤓 diff --git a/docs/ja/docs/index.md b/docs/ja/docs/index.md index ac4d1242e..0c588e59c 100644 --- a/docs/ja/docs/index.md +++ b/docs/ja/docs/index.md @@ -492,9 +492,7 @@ item: Item ### アプリをデプロイ(任意) { #deploy-your-app-optional } -必要に応じて FastAPI アプリを [FastAPI Cloud](https://fastapicloud.com) にデプロイできます。まだの場合はウェイティングリストに参加してください。 🚀 - -すでに **FastAPI Cloud** アカウント(ウェイティングリストから招待されました 😉)がある場合は、1 コマンドでアプリケーションをデプロイできます。 +1 コマンドで FastAPI アプリを [FastAPI Cloud](https://fastapicloud.com) にデプロイできます。 🚀
@@ -510,6 +508,8 @@ Deploying to FastAPI Cloud...
+CLI は自動的に FastAPI アプリケーションを検出し、クラウドへデプロイします。ログインしていない場合は、認証を完了するためにブラウザが開きます。 + これで完了です!その URL でアプリにアクセスできます。 ✨ #### FastAPI Cloud について { #about-fastapi-cloud } diff --git a/docs/ja/docs/tutorial/bigger-applications.md b/docs/ja/docs/tutorial/bigger-applications.md index 3cd80d797..9d4239449 100644 --- a/docs/ja/docs/tutorial/bigger-applications.md +++ b/docs/ja/docs/tutorial/bigger-applications.md @@ -396,9 +396,9 @@ from .routers.users import router /// note | 技術詳細 -実際には、`APIRouter` で宣言された各 *path operation* ごとに内部的に *path operation* が作成されます。 +FastAPI は、ルーターをメインアプリに取り込んだ後も、元の `APIRouter` とその `APIRoute` を有効なまま保持します。 -つまり裏側では、すべてが同じ単一のアプリであるかのように動作します。 +そのため、カスタムの `APIRouter` や `APIRoute` のサブクラスも、取り込み後に引き続き機能します。 /// @@ -406,7 +406,7 @@ from .routers.users import router ルーターを取り込んでもパフォーマンスを心配する必要はありません。 -これは起動時にマイクロ秒で行われます。 +これは軽量に設計され、各リクエストにオーバーヘッドを追加しないようになっています。 したがってパフォーマンスには影響しません。⚡ @@ -461,7 +461,7 @@ from .routers.users import router これは、それらの *path operations* を OpenAPI スキーマやユーザーインターフェースに含めたいからです。 -完全に分離して独立に「マウント」できないため、*path operations* は直接取り込まれるのではなく「クローン(再作成)」されます。 +FastAPI は元のルーターと *path operations* を有効なまま保持し、リクエスト処理や OpenAPI 生成の際に、ルーターの prefix、dependencies、tags、responses、その他のメタデータを組み合わせます。 /// @@ -532,4 +532,16 @@ $ fastapi dev router.include_router(other_router) ``` -`router` を `FastAPI` アプリに取り込む前にこれを実行して、`other_router` の *path operations* も含まれるようにしてください。 +これは、`router` を `FastAPI` アプリに取り込む前でも後でも実行できます。FastAPI は `other_router` の *path operations* をルーティングと OpenAPI に含めます。 + +同様に、後からルーターに追加された *path operations* も、以前の取り込みを通して見えるようになります。 + +/// warning | 注意 + +`router` を取り込んだ後に、`router.routes` を直接ミューテートするのは避けてください。FastAPI はルーターの取り込みをライブとして扱うため、元のルーターとそのルートはルーティングと OpenAPI 生成の一部のままです。 + +ルートやルーターを追加するには、path operation デコレータや `.include_router()` などのドキュメント化された API を使用してください。 + +`router.routes` は、ルート定義や取り込まれたルーターを含みうる低レベルのルートツリーとして扱い、最終的な *path operations* のフラットな一覧として当てにしないでください。 + +/// diff --git a/docs/ja/docs/tutorial/body-multiple-params.md b/docs/ja/docs/tutorial/body-multiple-params.md index 0f81f4c46..1a150d192 100644 --- a/docs/ja/docs/tutorial/body-multiple-params.md +++ b/docs/ja/docs/tutorial/body-multiple-params.md @@ -110,7 +110,7 @@ q: str | None = None {* ../../docs_src/body_multiple_params/tutorial004_an_py310.py hl[28] *} -/// info | 情報 +/// note | 備考 `Body`もまた、後述する `Query` や `Path` などと同様に、すべての追加検証パラメータとメタデータパラメータを持っています。 @@ -125,7 +125,7 @@ Pydanticモデル`Item`の単一の`item`ボディパラメータしかないと しかし、追加のボディパラメータを宣言したときのように、キー `item` を持つ JSON と、その中のモデル内容を期待したい場合は、特別な `Body` パラメータ `embed` を使うことができます: ```Python -item: Item = Body(embed=True) +item: Annotated[Item, Body(embed=True)] ``` 以下において: diff --git a/docs/ja/docs/tutorial/body-nested-models.md b/docs/ja/docs/tutorial/body-nested-models.md index 5187eb14e..a92df6b7a 100644 --- a/docs/ja/docs/tutorial/body-nested-models.md +++ b/docs/ja/docs/tutorial/body-nested-models.md @@ -135,8 +135,7 @@ Pydanticモデルを`list`や`set`などのサブタイプとして使用する ] } ``` - -/// info | 情報 +/// note | 備考 `images`キーが画像オブジェクトのリストを持つようになったことに注目してください。 @@ -148,7 +147,7 @@ Pydanticモデルを`list`や`set`などのサブタイプとして使用する {* ../../docs_src/body_nested_models/tutorial007_py310.py hl[7,12,18,21,25] *} -/// info | 情報 +/// note | 備考 `Offer`は`Item`のリストであり、それらがさらにオプションの`Image`のリストを持っていることに注目してください。 diff --git a/docs/ja/docs/tutorial/body.md b/docs/ja/docs/tutorial/body.md index 9f100738c..78fcf5f0a 100644 --- a/docs/ja/docs/tutorial/body.md +++ b/docs/ja/docs/tutorial/body.md @@ -8,7 +8,7 @@ APIはほとんどの場合 **レスポンス** ボディを送信する必要 **リクエスト**ボディを宣言するには、[Pydantic](https://docs.pydantic.dev/) モデルを使用し、その強力な機能とメリットをすべて利用します。 -/// info | 情報 +/// note | 備考 データを送信するには、`POST`(より一般的)、`PUT`、`DELETE`、`PATCH` のいずれかを使用すべきです。 diff --git a/docs/ja/docs/tutorial/cookie-param-models.md b/docs/ja/docs/tutorial/cookie-param-models.md index 89ae42438..a90ffdbb7 100644 --- a/docs/ja/docs/tutorial/cookie-param-models.md +++ b/docs/ja/docs/tutorial/cookie-param-models.md @@ -32,7 +32,7 @@ -/// info | 情報 +/// note | 備考 **ブラウザがクッキーを処理し**ていますが、特別な方法で内部的に処理を行っているために、**JavaScript**からは簡単に操作**できない**ことに留意してください。 diff --git a/docs/ja/docs/tutorial/cookie-params.md b/docs/ja/docs/tutorial/cookie-params.md index 1e5a0d3cf..894eb9edb 100644 --- a/docs/ja/docs/tutorial/cookie-params.md +++ b/docs/ja/docs/tutorial/cookie-params.md @@ -24,13 +24,13 @@ /// -/// info | 情報 +/// note | 備考 クッキーを宣言するには、`Cookie`を使う必要があります。なぜなら、そうしないとパラメータがクエリのパラメータとして解釈されてしまうからです。 /// -/// info | 情報 +/// note | 備考 **ブラウザがクッキーを**特殊な方法で裏側で扱うため、**JavaScript** から簡単には触れられないことを念頭に置いてください。 diff --git a/docs/ja/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md b/docs/ja/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md index 573ccc1f9..56eefa3c8 100644 --- a/docs/ja/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md +++ b/docs/ja/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md @@ -28,11 +28,11 @@ /// -/// info | 情報 +/// note | 備考 この例では、架空のカスタムヘッダー `X-Key` と `X-Token` を使用しています。 -しかし実際のケースでセキュリティを実装する際は、統合された[Security utilities(次の章)](../security/index.md)を使うことで、より多くの利点を得られます。 +しかし実際のケースでセキュリティを実装する際は、統合された[セキュリティユーティリティ(次の章)](../security/index.md)を使うことで、より多くの利点を得られます。 /// @@ -62,7 +62,7 @@ ## *path operation*のグループに対する依存関係 { #dependencies-for-a-group-of-path-operations } -後で、より大きなアプリケーションを(おそらく複数ファイルで)構造化する方法([Bigger Applications - Multiple Files](../../tutorial/bigger-applications.md))について読むときに、*path operation*のグループに対して単一の`dependencies`パラメータを宣言する方法を学びます。 +後で、より大きなアプリケーションを(おそらく複数ファイルで)構造化する方法([より大きなアプリケーション - 複数ファイル](../../tutorial/bigger-applications.md))について読むときに、*path operation*のグループに対して単一の`dependencies`パラメータを宣言する方法を学びます。 ## グローバル依存関係 { #global-dependencies } diff --git a/docs/ja/docs/tutorial/dependencies/dependencies-with-yield.md b/docs/ja/docs/tutorial/dependencies/dependencies-with-yield.md index 83e4f8809..2c310607c 100644 --- a/docs/ja/docs/tutorial/dependencies/dependencies-with-yield.md +++ b/docs/ja/docs/tutorial/dependencies/dependencies-with-yield.md @@ -170,7 +170,7 @@ participant tasks as Background tasks end ``` -/// info | 情報 +/// note | 備考 **1つのレスポンス** だけがクライアントに送信されます。それはエラーレスポンスの一つかもしれませんし、*path operation*からのレスポンスかもしれません。 diff --git a/docs/ja/docs/tutorial/dependencies/index.md b/docs/ja/docs/tutorial/dependencies/index.md index a3cf3e26b..9b8b5ad57 100644 --- a/docs/ja/docs/tutorial/dependencies/index.md +++ b/docs/ja/docs/tutorial/dependencies/index.md @@ -51,7 +51,7 @@ そして、これらの値を含む`dict`を返します。 -/// info | 情報 +/// note | 備考 FastAPI はバージョン 0.95.0 で `Annotated` のサポートを追加し(そして推奨し始めました)。 @@ -106,7 +106,7 @@ common_parameters --> read_users この方法では、共有されるコードを一度書き、**FastAPI** が*path operation*のための呼び出しを行います。 -/// check | 確認 +/// tip | 豆知識 特別なクラスを作成してどこかで **FastAPI** に渡して「登録」する必要はないことに注意してください。 diff --git a/docs/ja/docs/tutorial/dependencies/sub-dependencies.md b/docs/ja/docs/tutorial/dependencies/sub-dependencies.md index fa27781f9..5d6533b11 100644 --- a/docs/ja/docs/tutorial/dependencies/sub-dependencies.md +++ b/docs/ja/docs/tutorial/dependencies/sub-dependencies.md @@ -35,7 +35,7 @@ {* ../../docs_src/dependencies/tutorial005_an_py310.py hl[23] *} -/// info | 情報 +/// note | 備考 *path operation 関数*の中で宣言している依存関係は`query_or_cookie_extractor`の1つだけであることに注意してください。 diff --git a/docs/ja/docs/tutorial/first-steps.md b/docs/ja/docs/tutorial/first-steps.md index 26cb49159..75d100871 100644 --- a/docs/ja/docs/tutorial/first-steps.md +++ b/docs/ja/docs/tutorial/first-steps.md @@ -180,7 +180,7 @@ entrypoint = "backend.main:app" from backend.main import app ``` -### パス付きの`fastapi dev` { #fastapi-dev-with-path } +### パス指定の`fastapi dev`または`--entrypoint` CLIオプション { #fastapi-dev-with-path-or-with-entrypoint-cli-option } `fastapi dev`コマンドにファイルパスを渡すこともでき、使用すべきFastAPIのappオブジェクトを推測します: @@ -188,29 +188,19 @@ from backend.main import app $ fastapi dev main.py ``` -ただし、その場合は毎回`fastapi`コマンドを呼ぶたびに正しいパスを渡すことを覚えておく必要があります。 +または、`fastapi dev`コマンドに`--entrypoint`オプションを渡すこともできます: + +```console +$ fastapi dev --entrypoint main:app +``` + +ただし、その場合は毎回`fastapi`コマンドを呼ぶたびに正しいパスや`entrypoint`を渡すことを覚えておく必要があります。 さらに、他のツール(たとえば、[VS Code 拡張機能](../editor-support.md)や[FastAPI Cloud](https://fastapicloud.com))が見つけられない場合があります。そのため、`pyproject.toml`の`entrypoint`を使うことを推奨します。 ### アプリをデプロイ(任意) { #deploy-your-app-optional } -任意でFastAPIアプリを[FastAPI Cloud](https://fastapicloud.com)にデプロイできます。まだなら、待機リストに登録してください。 🚀 - -すでに**FastAPI Cloud**アカウントがある場合(待機リストから招待済みの場合😉)、1コマンドでアプリケーションをデプロイできます。 - -デプロイする前に、ログインしていることを確認してください: - -
- -```console -$ fastapi login - -You are logged in to FastAPI Cloud 🚀 -``` - -
- -その後、アプリをデプロイします: +任意でFastAPIアプリを[FastAPI Cloud](https://fastapicloud.com)に1コマンドでデプロイできます。 🚀
@@ -226,6 +216,8 @@ Deploying to FastAPI Cloud...
+CLIはFastAPIアプリケーションを自動検出してクラウドにデプロイします。ログインしていない場合、認証を完了するためにブラウザが開きます。 + 以上です!これで、そのURLでアプリにアクセスできます。 ✨ ## ステップ毎の要約 { #recap-step-by-step } @@ -269,7 +261,7 @@ https://example.com/items/foo /items/foo ``` -/// info | 情報 +/// note | 備考 「パス」は一般に「エンドポイント」または「ルート」とも呼ばれます。 @@ -321,7 +313,7 @@ APIを構築するときは、通常、これらの特定のHTTPメソッドを * パス `/` * get オペレーション -/// info | `@decorator` 情報 +/// note | `@decorator` 情報 Pythonにおける`@something`シンタックスはデコレータと呼ばれます。 diff --git a/docs/ja/docs/tutorial/metadata.md b/docs/ja/docs/tutorial/metadata.md index 6802e6c9a..6a426d530 100644 --- a/docs/ja/docs/tutorial/metadata.md +++ b/docs/ja/docs/tutorial/metadata.md @@ -74,7 +74,7 @@ OpenAPI 3.1.0 および FastAPI 0.99.0 以降では、`license_info` を `url` {* ../../docs_src/metadata/tutorial004_py310.py hl[21,26] *} -/// info | 情報 +/// note | 備考 タグの詳細は [Path Operation の設定](path-operation-configuration.md#tags) を参照してください。 diff --git a/docs/ja/docs/tutorial/path-operation-configuration.md b/docs/ja/docs/tutorial/path-operation-configuration.md index 25a2783ea..a5f34128a 100644 --- a/docs/ja/docs/tutorial/path-operation-configuration.md +++ b/docs/ja/docs/tutorial/path-operation-configuration.md @@ -72,13 +72,13 @@ docstringに[Markdown](https://en.wikipedia.org/wiki/Markdown)を記述すれば {* ../../docs_src/path_operation_configuration/tutorial005_py310.py hl[18] *} -/// info | 情報 +/// note | 備考 `response_description`は具体的にレスポンスを参照し、`description`は*path operation*全般を参照していることに注意してください。 /// -/// check | 確認 +/// tip | 豆知識 OpenAPIは*path operation*ごとにレスポンスの説明を必要としています。 diff --git a/docs/ja/docs/tutorial/path-params-numeric-validations.md b/docs/ja/docs/tutorial/path-params-numeric-validations.md index 55930eece..1e36e7dd1 100644 --- a/docs/ja/docs/tutorial/path-params-numeric-validations.md +++ b/docs/ja/docs/tutorial/path-params-numeric-validations.md @@ -8,7 +8,7 @@ {* ../../docs_src/path_params_numeric_validations/tutorial001_an_py310.py hl[1,3] *} -/// info | 情報 +/// note | 備考 FastAPI はバージョン 0.95.0 で`Annotated`のサポートを追加し(そして推奨し始めました)。 @@ -131,7 +131,7 @@ Pythonはその`*`で何かをすることはありませんが、それ以降 * `lt`: `l`ess `t`han * `le`: `l`ess than or `e`qual -/// info | 情報 +/// note | 備考 `Query`、`Path`、および後で見る他のクラスは、共通の`Param`クラスのサブクラスです。 diff --git a/docs/ja/docs/tutorial/path-params.md b/docs/ja/docs/tutorial/path-params.md index 8556b1c37..ec47cbe7a 100644 --- a/docs/ja/docs/tutorial/path-params.md +++ b/docs/ja/docs/tutorial/path-params.md @@ -20,7 +20,7 @@ Pythonのformat文字列と同様のシンタックスで「パスパラメー ここでは、 `item_id` は `int` として宣言されています。 -/// check | 確認 +/// tip | 豆知識 これにより、関数内でのエディターサポート (エラーチェックや補完など) が提供されます。 @@ -34,7 +34,7 @@ Pythonのformat文字列と同様のシンタックスで「パスパラメー {"item_id":3} ``` -/// check | 確認 +/// tip | 豆知識 関数が受け取った(および返した)値は、文字列の `"3"` ではなく、Pythonの `int` としての `3` であることに注意してください。 @@ -66,7 +66,7 @@ Pythonのformat文字列と同様のシンタックスで「パスパラメー [http://127.0.0.1:8000/items/4.2](http://127.0.0.1:8000/items/4.2) で見られるように、`int` のかわりに `float` が与えられた場合にも同様なエラーが表示されます。 -/// check | 確認 +/// tip | 豆知識 したがって、同じPythonの型宣言を使用することで、**FastAPI**はデータのバリデーションを行います。 @@ -82,7 +82,7 @@ Pythonのformat文字列と同様のシンタックスで「パスパラメー -/// check | 確認 +/// tip | 豆知識 繰り返しになりますが、同じPython型宣言を使用するだけで、**FastAPI**は対話的なドキュメントを自動的に生成します(Swagger UIを統合)。 diff --git a/docs/ja/docs/tutorial/query-params-str-validations.md b/docs/ja/docs/tutorial/query-params-str-validations.md index d34059801..a113cb4a7 100644 --- a/docs/ja/docs/tutorial/query-params-str-validations.md +++ b/docs/ja/docs/tutorial/query-params-str-validations.md @@ -24,12 +24,12 @@ FastAPIは、 `q` はデフォルト値が `= None` であるため、必須で そのために、まずは以下をインポートします: -* `fastapi` から `Query` -* `typing` から `Annotated` +- `fastapi` から `Query` +- `typing` から `Annotated` {* ../../docs_src/query_params_str_validations/tutorial002_an_py310.py hl[1,3] *} -/// info | 情報 +/// note | 備考 FastAPI はバージョン 0.95.0 で `Annotated` のサポートを追加し(推奨し始め)ました。 @@ -79,9 +79,9 @@ q: Annotated[str | None] = None FastAPI は次を行います: -* 最大長が 50 文字であることを確かめるようデータを **検証** する -* データが有効でないときに、クライアントに **明確なエラー** を表示する -* OpenAPI スキーマの *path operation* にパラメータを **ドキュメント化** する(その結果、**自動ドキュメント UI** に表示されます) +- 最大長が 50 文字であることを確かめるようデータを **検証** する +- データが有効でないときに、クライアントに **明確なエラー** を表示する +- OpenAPI スキーマの *path operation* にパラメータを **ドキュメント化** する(その結果、**自動ドキュメント UI** に表示されます) ## 代替(古い方法): デフォルト値としての `Query` { #alternative-old-query-as-the-default-value } @@ -174,9 +174,9 @@ FastAPI なしで同じ関数を **別の場所** から **呼び出しても** この特定の正規表現パターンは受け取ったパラメータの値をチェックします: -* `^`: は、これ以降の文字で始まり、これより以前には文字はありません。 -* `fixedquery`: は、正確な`fixedquery`を持っています. -* `$`: で終わる場合、`fixedquery`以降には文字はありません. +- `^`: は、これ以降の文字で始まり、これより以前には文字はありません。 +- `fixedquery`: は、正確な`fixedquery`を持っています. +- `$`: で終わる場合、`fixedquery`以降には文字はありません. もしこれらすべての **「正規表現」** のアイデアについて迷っていても、心配しないでください。多くの人にとって難しい話題です。正規表現を必要としなくても、まだ、多くのことができます。 @@ -382,7 +382,7 @@ Pydantic には [`BeforeValidator`](https://docs.pydantic.dev/latest/concepts/va {* ../../docs_src/query_params_str_validations/tutorial015_an_py310.py hl[5,16:19,24] *} -/// info | 情報 +/// note | 備考 これは Pydantic バージョン 2 以上で利用できます。 😎 @@ -432,16 +432,16 @@ Pydantic には [`BeforeValidator`](https://docs.pydantic.dev/latest/concepts/va 一般的なバリデーションとメタデータ: -* `alias` -* `title` -* `description` -* `deprecated` +- `alias` +- `title` +- `description` +- `deprecated` 文字列に固有のバリデーション: -* `min_length` -* `max_length` -* `pattern` +- `min_length` +- `max_length` +- `pattern` `AfterValidator` を使ったカスタムバリデーション。 diff --git a/docs/ja/docs/tutorial/query-params.md b/docs/ja/docs/tutorial/query-params.md index 51e4eb944..24320cc77 100644 --- a/docs/ja/docs/tutorial/query-params.md +++ b/docs/ja/docs/tutorial/query-params.md @@ -65,7 +65,7 @@ http://127.0.0.1:8000/items/?skip=20 この場合、関数パラメータ `q` はオプショナルとなり、デフォルトでは `None` になります。 -/// check | 確認 +/// tip | 豆知識 パスパラメータ `item_id` はパスパラメータであり、`q` はそれとは違ってクエリパラメータであると判別できるほど**FastAPI** が賢いということにも注意してください。 diff --git a/docs/ja/docs/tutorial/request-files.md b/docs/ja/docs/tutorial/request-files.md index 30a494afb..82bafb776 100644 --- a/docs/ja/docs/tutorial/request-files.md +++ b/docs/ja/docs/tutorial/request-files.md @@ -2,7 +2,7 @@ `File` を使って、クライアントがアップロードするファイルを定義できます。 -/// info | 情報 +/// note | 備考 アップロードされたファイルを受け取るには、まず [`python-multipart`](https://github.com/Kludex/python-multipart) をインストールします。 @@ -28,7 +28,7 @@ $ pip install python-multipart {* ../../docs_src/request_files/tutorial001_an_py310.py hl[9] *} -/// info | 情報 +/// note | 備考 `File` は `Form` を直接継承したクラスです。 diff --git a/docs/ja/docs/tutorial/request-form-models.md b/docs/ja/docs/tutorial/request-form-models.md index 62aa9e298..6a71c149d 100644 --- a/docs/ja/docs/tutorial/request-form-models.md +++ b/docs/ja/docs/tutorial/request-form-models.md @@ -2,7 +2,7 @@ FastAPI では、フォームフィールドを宣言するために **Pydantic モデル**を使用できます。 -/// info | 情報 +/// note | 備考 フォームを使うには、まず [`python-multipart`](https://github.com/Kludex/python-multipart) をインストールします。 diff --git a/docs/ja/docs/tutorial/request-forms-and-files.md b/docs/ja/docs/tutorial/request-forms-and-files.md index 651f07ff0..4865f29ae 100644 --- a/docs/ja/docs/tutorial/request-forms-and-files.md +++ b/docs/ja/docs/tutorial/request-forms-and-files.md @@ -2,7 +2,7 @@ `File`と`Form`を同時に使うことでファイルとフォームフィールドを定義することができます。 -/// info | 情報 +/// note | 備考 アップロードされたファイルやフォームデータを受信するには、まず[`python-multipart`](https://github.com/Kludex/python-multipart)をインストールします。 diff --git a/docs/ja/docs/tutorial/request-forms.md b/docs/ja/docs/tutorial/request-forms.md index c6b2a921a..022f13208 100644 --- a/docs/ja/docs/tutorial/request-forms.md +++ b/docs/ja/docs/tutorial/request-forms.md @@ -2,7 +2,7 @@ JSONの代わりにフィールドを受け取る場合は、`Form`を使用します。 -/// info | 情報 +/// note | 備考 フォームを使うためには、まず[`python-multipart`](https://github.com/Kludex/python-multipart)をインストールします。 @@ -32,7 +32,7 @@ $ pip install python-multipart `Form`では`Body`(および`Query`や`Path`、`Cookie`)と同じ設定を宣言することができます。これには、バリデーション、例、エイリアス(例えば`username`の代わりに`user-name`)などが含まれます。 -/// info | 情報 +/// note | 備考 `Form`は`Body`を直接継承するクラスです。 @@ -56,7 +56,7 @@ HTMLフォーム(`
`)がサーバにデータを送信する方 しかし、フォームがファイルを含む場合は、`multipart/form-data`としてエンコードされます。ファイルの扱いについては次の章で説明します。 -これらのエンコーディングやフォームフィールドの詳細については、[MDN の `POST` ウェブドキュメント](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST)を参照してください。 +これらのエンコーディングやフォームフィールドの詳細については、[MDN の `POST` のウェブドキュメント](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST)を参照してください。 /// diff --git a/docs/ja/docs/tutorial/response-model.md b/docs/ja/docs/tutorial/response-model.md index b4024e0a0..4b38e6de9 100644 --- a/docs/ja/docs/tutorial/response-model.md +++ b/docs/ja/docs/tutorial/response-model.md @@ -72,7 +72,7 @@ FastAPIはこの `response_model` を使って、データのドキュメント {* ../../docs_src/response_model/tutorial002_py310.py hl[7,9] *} -/// info | 情報 +/// note | 備考 `EmailStr` を使用するには、最初に [`email-validator`](https://github.com/JoshData/python-email-validator) をインストールしてください。 @@ -251,7 +251,7 @@ Pydanticフィールドとして有効ではないものを返し、ツール( } ``` -/// info | 情報 +/// note | 備考 以下も使用できます: diff --git a/docs/ja/docs/tutorial/response-status-code.md b/docs/ja/docs/tutorial/response-status-code.md index 9237ac784..a04add113 100644 --- a/docs/ja/docs/tutorial/response-status-code.md +++ b/docs/ja/docs/tutorial/response-status-code.md @@ -18,7 +18,7 @@ `status_code`パラメータはHTTPステータスコードを含む数値を受け取ります。 -/// info | 情報 +/// note | 備考 `status_code`は代わりに、Pythonの[`http.HTTPStatus`](https://docs.python.org/3/library/http.html#http.HTTPStatus)のように、`IntEnum`を受け取ることもできます。 diff --git a/docs/ja/docs/tutorial/schema-extra-example.md b/docs/ja/docs/tutorial/schema-extra-example.md index 87ee85f40..742106037 100644 --- a/docs/ja/docs/tutorial/schema-extra-example.md +++ b/docs/ja/docs/tutorial/schema-extra-example.md @@ -24,7 +24,7 @@ /// -/// info | 情報 +/// note | 備考 OpenAPI 3.1.0(FastAPI 0.99.0以降で使用)では、**JSON Schema**標準の一部である`examples`がサポートされました。 @@ -155,7 +155,7 @@ OpenAPIは、仕様の他の部分にも`example`と`examples`フィールドを * `File()` * `Form()` -/// info | 情報 +/// note | 備考 この古いOpenAPI固有の`examples`パラメータは、FastAPI `0.103.0`以降は`openapi_examples`になりました。 @@ -171,7 +171,7 @@ OpenAPIは、仕様の他の部分にも`example`と`examples`フィールドを JSON Schemaのこの新しい`examples`フィールドは、OpenAPIの他の場所(上で説明)にあるような追加メタデータを持つdictではなく、**単なる例の`list`**です。 -/// info | 情報 +/// note | 備考 OpenAPI 3.1.0がこのJSON Schemaとの新しいよりシンプルな統合とともにリリースされた後も、しばらくの間、自動ドキュメントを提供するツールであるSwagger UIはOpenAPI 3.1.0をサポートしていませんでした(バージョン5.0.0からサポートされています🎉)。 diff --git a/docs/ja/docs/tutorial/security/first-steps.md b/docs/ja/docs/tutorial/security/first-steps.md index e678ebce1..386adbed8 100644 --- a/docs/ja/docs/tutorial/security/first-steps.md +++ b/docs/ja/docs/tutorial/security/first-steps.md @@ -24,7 +24,7 @@ ## 実行 { #run-it } -/// info | 情報 +/// note | 備考 [`python-multipart`](https://github.com/Kludex/python-multipart) パッケージは、`pip install "fastapi[standard]"` コマンドを実行すると **FastAPI** と一緒に自動的にインストールされます。 @@ -60,7 +60,7 @@ $ fastapi dev -/// check | Authorizeボタン! +/// tip | Authorizeボタン! すでにピカピカの新しい「Authorize」ボタンがあります。 @@ -118,7 +118,7 @@ OAuth2は、バックエンドやAPIがユーザーを認証するサーバー この例では、**Bearer**トークンを使用して**OAuth2**を**Password**フローで使用します。これには`OAuth2PasswordBearer`クラスを使用します。 -/// info | 情報 +/// note | 備考 「bearer」トークンが、唯一の選択肢ではありません。 @@ -148,7 +148,7 @@ OAuth2は、バックエンドやAPIがユーザーを認証するサーバー 実際の path operation もすぐに作ります。 -/// info | 情報 +/// note | 備考 非常に厳格な「Pythonista」であれば、パラメーター名のスタイルが`tokenUrl`ではなく`token_url`であることを気に入らないかもしれません。 @@ -176,7 +176,7 @@ oauth2_scheme(some, parameters) **FastAPI**は、この依存関係を使用してOpenAPIスキーマ (および自動APIドキュメント) で「セキュリティスキーム」を定義できることを知っています。 -/// info | 技術詳細 +/// note | 技術詳細 **FastAPI**は、`OAuth2PasswordBearer` クラス (依存関係で宣言されている) を使用してOpenAPIのセキュリティスキームを定義できることを知っています。これは`fastapi.security.oauth2.OAuth2`、`fastapi.security.base.SecurityBase`を継承しているからです。 diff --git a/docs/ja/docs/tutorial/security/get-current-user.md b/docs/ja/docs/tutorial/security/get-current-user.md index 60378fd98..1e77c9f65 100644 --- a/docs/ja/docs/tutorial/security/get-current-user.md +++ b/docs/ja/docs/tutorial/security/get-current-user.md @@ -52,7 +52,7 @@ Pydanticモデルの `User` として、 `current_user` の型を宣言するこ /// -/// check | 確認 +/// tip | 豆知識 依存関係システムがこのように設計されているおかげで、 `User` モデルを返却する別の依存関係(別の「dependables」)を持つことができます。 diff --git a/docs/ja/docs/tutorial/security/oauth2-jwt.md b/docs/ja/docs/tutorial/security/oauth2-jwt.md index 9c527121e..7e41326e3 100644 --- a/docs/ja/docs/tutorial/security/oauth2-jwt.md +++ b/docs/ja/docs/tutorial/security/oauth2-jwt.md @@ -42,7 +42,7 @@ $ pip install pyjwt -/// info | 情報 +/// note | 備考 RSAやECDSAのようなデジタル署名アルゴリズムを使用する予定がある場合は、cryptographyライブラリの依存関係`pyjwt[crypto]`をインストールしてください。 @@ -213,7 +213,7 @@ IDの衝突を回避するために、ユーザーのJWTトークンを作成す Username: `johndoe` Password: `secret` -/// check | 確認 +/// tip | 豆知識 コードのどこにも平文のパスワード"`secret`"はなく、ハッシュ化されたものしかないことを確認してください。 diff --git a/docs/ja/docs/tutorial/security/simple-oauth2.md b/docs/ja/docs/tutorial/security/simple-oauth2.md index 842cd02e5..9e9487d86 100644 --- a/docs/ja/docs/tutorial/security/simple-oauth2.md +++ b/docs/ja/docs/tutorial/security/simple-oauth2.md @@ -32,7 +32,7 @@ OAuth2 では、「password flow」(ここで使用するフロー)を使う - `instagram_basic` は Facebook / Instagram で使われます。 - `https://www.googleapis.com/auth/drive` は Google で使われます。 -/// info | 情報 +/// note | 備考 OAuth2 における「スコープ」は、要求される特定の権限を表す単なる文字列です。 @@ -72,7 +72,7 @@ OAuth2 の仕様では、固定値 `password` を持つフィールド `grant_ty - オプションの `client_id`(この例では不要) - オプションの `client_secret`(この例では不要) -/// info | 情報 +/// note | 備考 `OAuth2PasswordRequestForm` は、`OAuth2PasswordBearer` のように **FastAPI** にとって特別なクラスではありません。 @@ -144,7 +144,7 @@ UserInDB( ) ``` -/// info | 情報 +/// note | 備考 `**user_dict` のより完全な解説は、[**追加モデル**のドキュメント](../extra-models.md#about-user-in-dict)を参照してください。 @@ -196,7 +196,7 @@ UserInDB( {* ../../docs_src/security/tutorial003_an_py310.py hl[58:66,69:74,94] *} -/// info | 情報 +/// note | 備考 ここで返している値が `Bearer` の追加ヘッダー `WWW-Authenticate` も仕様の一部です。 diff --git a/docs/ja/docs/tutorial/server-sent-events.md b/docs/ja/docs/tutorial/server-sent-events.md index d8168cef3..1019f806e 100644 --- a/docs/ja/docs/tutorial/server-sent-events.md +++ b/docs/ja/docs/tutorial/server-sent-events.md @@ -4,7 +4,7 @@ これは[JSON Lines のストリーミング](stream-json-lines.md)に似ていますが、`text/event-stream` フォーマットを使用します。これはブラウザがネイティブに [`EventSource` API](https://developer.mozilla.org/en-US/docs/Web/API/EventSource) でサポートしています。 -/// info | 情報 +/// note FastAPI 0.135.0 で追加されました。 @@ -27,7 +27,7 @@ data: {"name": "Plumbus", "price": 32.99} SSE は、AI チャットのストリーミング、ライブ通知、ログやオブザビリティなど、サーバーがクライアントへ更新をプッシュする用途で一般的に使われます。 -/// tip | 豆知識 +/// tip バイナリデータ(例: 動画や音声)をストリーミングしたい場合は、上級ガイド [データのストリーミング](../advanced/stream-data.md) を参照してください。 @@ -47,7 +47,7 @@ yield された各アイテムは JSON にエンコードされ、SSE イベン {* ../../docs_src/server_sent_events/tutorial001_py310.py ln[1:25] hl[10:12,23] *} -/// tip | 豆知識 +/// tip Pydantic が**Rust** 側でシリアライズを行うため、戻り値の型を宣言しない場合に比べて大幅に**高性能**になります。 @@ -81,13 +81,13 @@ Pydantic が**Rust** 側でシリアライズを行うため、戻り値の型 ## 生データ { #raw-data } -JSON エンコードせずにデータを送る必要がある場合は、`data` の代わりに `raw_data` を使用します。 +JSON エンコードせずにデータを送る必要がある場合は、`raw_data` を使用します。 -これは、整形済みテキスト、ログ行、または `[DONE]` のような特別な "センチネル" 値を送るのに有用です。 +これは、整形済みテキスト、ログ行、または 「センチネル」 といった特別な値(例: `[DONE]`)を送るのに有用です。 {* ../../docs_src/server_sent_events/tutorial003_py310.py hl[17] *} -/// note | 備考 +/// note `data` と `raw_data` は相互排他的です。各 `ServerSentEvent` ではどちらか一方しか設定できません。 diff --git a/docs/ja/docs/tutorial/stream-json-lines.md b/docs/ja/docs/tutorial/stream-json-lines.md index a247234e2..1f7af2f68 100644 --- a/docs/ja/docs/tutorial/stream-json-lines.md +++ b/docs/ja/docs/tutorial/stream-json-lines.md @@ -2,7 +2,7 @@ データのシーケンスを**「ストリーム」**で送りたい場合、**JSON Lines** を使って実現できます。 -/// info | 情報 +/// note | 備考 FastAPI 0.134.0 で追加されました。 @@ -48,7 +48,7 @@ sequenceDiagram これは JSON 配列(Python の list に相当)にとてもよく似ていますが、`[]` で囲まず、アイテム間の `,` もありません。その代わりに、**1 行に 1 つの JSON オブジェクト**で、改行文字で区切られます。 -/// info | 情報 +/// note | 備考 重要な点は、クライアントが前の行を消費している間に、アプリ側は次の行を順次生成して送れることです。 diff --git a/docs/ja/docs/tutorial/testing.md b/docs/ja/docs/tutorial/testing.md index 0277d73b7..57dcd86c9 100644 --- a/docs/ja/docs/tutorial/testing.md +++ b/docs/ja/docs/tutorial/testing.md @@ -8,7 +8,7 @@ ## `TestClient` を使用 { #using-testclient } -/// info +/// note | 備考 `TestClient` を使用するには、まず [`httpx`](https://www.python-httpx.org) をインストールします。 @@ -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,7 +50,7 @@ $ pip install httpx /// -/// tip +/// tip | 豆知識 FastAPIアプリケーションへのリクエストの送信とは別に、テストで `async` 関数 (非同期データベース関数など) を呼び出したい場合は、高度なチュートリアルの[Async Tests](../advanced/async-tests.md) を参照してください。 @@ -144,7 +144,7 @@ FastAPIアプリケーションへのリクエストの送信とは別に、テ (`httpx` または `TestClient` を使用して) バックエンドにデータを渡す方法の詳細は、[HTTPXのドキュメント](https://www.python-httpx.org)を確認してください。 -/// info +/// note | 備考 `TestClient` は、Pydanticモデルではなく、JSONに変換できるデータを受け取ることに注意してください。