]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
🌐 Add Japanese translation for Advanced User Guide - Additional Status Codes (#2145)
authoratsumi <atsumi.tatsuya@gmail.com>
Thu, 3 Dec 2020 17:00:54 +0000 (02:00 +0900)
committerGitHub <noreply@github.com>
Thu, 3 Dec 2020 17:00:54 +0000 (18:00 +0100)
Co-authored-by: Taki Komiyama <39375566+komtaki@users.noreply.github.com>
Co-authored-by: T. Tokusumi <41147016+tokusumi@users.noreply.github.com>
docs/ja/docs/advanced/additional-status-codes.md [new file with mode: 0644]
docs/ja/mkdocs.yml

diff --git a/docs/ja/docs/advanced/additional-status-codes.md b/docs/ja/docs/advanced/additional-status-codes.md
new file mode 100644 (file)
index 0000000..6c03cd9
--- /dev/null
@@ -0,0 +1,37 @@
+# 追加のステータスコード
+
+デフォルトでは、 **FastAPI** は `JSONResponse` を使ってレスポンスを返します。その `JSONResponse` の中には、 *path operation* が返した内容が入ります。
+
+それは、デフォルトのステータスコードか、 *path operation* でセットしたものを利用します。
+
+## 追加のステータスコード
+
+メインのステータスコードとは別に、他のステータスコードを返したい場合は、`Response` (`JSONResponse` など) に追加のステータスコードを設定して直接返します。
+
+例えば、itemを更新し、成功した場合は200 "OK"のHTTPステータスコードを返す *path operation* を作りたいとします。
+
+しかし、新しいitemも許可したいです。itemが存在しない場合は、それらを作成して201 "Created"を返します。
+
+これを達成するには、 `JSONResponse` をインポートし、 `status_code` を設定して直接内容を返します。
+
+```Python hl_lines="4  23"
+{!../../../docs_src/additional_status_codes/tutorial001.py!}
+```
+
+!!! warning "注意"
+    上記の例のように `Response` を明示的に返す場合、それは直接返されます。
+
+    モデルなどはシリアライズされません。
+
+    必要なデータが含まれていることや、値が有効なJSONであること (`JSONResponse` を使う場合) を確認してください。
+
+!!! note "技術詳細"
+    `from starlette.responses import JSONResponse` を利用することもできます。
+
+    **FastAPI** は `fastapi.responses` と同じ `starlette.responses` を、開発者の利便性のために提供しています。しかし有効なレスポンスはほとんどStarletteから来ています。 `status` についても同じです。
+
+## OpenAPIとAPIドキュメント
+
+ステータスコードとレスポンスを直接返す場合、それらはOpenAPIスキーマ (APIドキュメント) には含まれません。なぜなら、FastAPIは何が返されるのか事前に知ることができないからです。
+
+しかし、 [Additional Responses](additional-responses.md){.internal-link target=_blank} を使ってコードの中にドキュメントを書くことができます。
index 81fe64b9c3773701962352e2870619c68a6d47ca..7cb2d4293e67e0763316d2b6698b2926fc0b01a6 100644 (file)
@@ -57,10 +57,11 @@ nav:
   - tutorial/body.md
   - tutorial/query-params-str-validations.md
   - tutorial/header-params.md
-  - tutorial/cors.md
   - セキュリティ:
     - tutorial/security/first-steps.md
+  - tutorial/cors.md
 - 高度なユーザーガイド:
+  - advanced/additional-status-codes.md
   - advanced/response-directly.md
   - advanced/custom-response.md
 - project-generation.md