@ -1,5 +1,6 @@
# LLM テストファイル { #llm-test-file }
このドキュメントは、ドキュメントを翻訳する <abbr title="Large Language Model - 大規模言語モデル">LLM</abbr> が、`scripts/translate.py` の `general_prompt` と、`docs/{language code}/llm-prompt.md` の言語固有プロンプトを理解しているかをテストします。言語固有プロンプトは `general_prompt` の末尾に追加されます。
ここに追加したテストは、すべての言語固有プロンプトの設計者が参照します。
# レスポンス - ステータスコードの変更 { #response-change-status-code }
すでに、デフォルトの[レスポンスのステータスコード](../tutorial/response-status-code.md)を設定できることをご存知かもしれません。
しかし場合によっては、デフォルトとは異なるステータスコードを返す必要があります。
# レスポンスの Cookie { #response-cookies }
## `Response` パラメータを使う { #use-a-response-parameter }
*path operation 関数*で `Response` 型のパラメータを宣言できます。
# レスポンスヘッダー { #response-headers }
(Cookie と同様に)*path operation 関数*で `Response` 型のパラメータを宣言できます。
# OAuth2 のスコープ { #oauth2-scopes }
OAuth2 のスコープは **FastAPI** で直接利用でき、シームレスに統合されています。
これにより、OAuth2 標準に従った、よりきめ細かな権限システムを、OpenAPI 対応アプリケーション(および API ドキュメント)に統合できます。
# WSGI の組み込み - Flask、Django など { #including-wsgi-flask-django-others }
[サブアプリケーション - マウント](sub-applications.md)、[プロキシの背後](behind-a-proxy.md) で見たように、WSGI アプリケーションをマウントできます。
そのために `WSGIMiddleware` を使用して、Flask や Django などの WSGI アプリをラップできます。
# ヘルプ { #help }
FastAPI を手助けしたい、または FastAPI についてヘルプが必要ですか?
応援したりヘルプを得たりする簡単な方法がいくつかあります。
# GraphQL { #graphql }
**FastAPI** は **ASGI** 標準に基づいているため、ASGI に対応した任意の **GraphQL** ライブラリを簡単に統合できます。
同じアプリケーション内で通常の FastAPI の *path operation* と GraphQL を組み合わせて使えます。
# ボディ - ネストされたモデル { #body-nested-models }
**FastAPI** を使用すると、深くネストされた任意のモデルを定義、検証、文書化、使用することができます(Pydanticのおかげです)。
## リストのフィールド { #list-fields }
# リクエストボディ { #request-body }
クライアント(例えばブラウザ)からAPIにデータを送信する必要がある場合、**リクエストボディ**として送信します。
**リクエスト**ボディは、クライアントからAPIへ送信されるデータです。**レスポンス**ボディは、APIがクライアントに送信するデータです。
# 追加データ型 { #extra-data-types }
今まで、以下のような一般的なデータ型を使用してきました:
* `int`
# エラーハンドリング { #handling-errors }
APIを使用しているクライアントにエラーを通知する必要がある状況はたくさんあります。
このクライアントは、フロントエンドを持つブラウザ、誰かのコード、IoTデバイスなどが考えられます。
# チュートリアル - ユーザーガイド { #tutorial-user-guide }
このチュートリアルでは、**FastAPI**のほとんどの機能を使う方法を段階的に紹介します。
各セクションは前のセクションを踏まえた内容になっています。しかし、トピックごとに分割されているので、特定のAPIのニーズを満たすために、任意の特定のトピックに直接進めるようになっています。
# Path Operationの設定 { #path-operation-configuration }
*path operationデコレータ*を設定するためのパラメータがいくつかあります。
/// warning | 注意
# クエリパラメータ { #query-parameters }
パスパラメータではない関数パラメータを宣言すると、それらは自動的に「クエリ」パラメータとして解釈されます。
{* ../../docs_src/query_params/tutorial001_py310.py hl[9] *}
# リクエストファイル { #request-files }
`File` を使って、クライアントがアップロードするファイルを定義できます。
/// note | 備考
# レスポンスステータスコード { #response-status-code }
レスポンスモデルを指定するのと同じ方法で、レスポンスに使用されるHTTPステータスコードを以下の*path operations*のいずれかの`status_code`パラメータで宣言することもできます。
* `@app.get()`
# リクエストのExampleデータの宣言 { #declare-request-example-data }
アプリが受け取れるデータの例を宣言できます。
ここでは、それを行ういくつかの方法を紹介します。
# SQL(リレーショナル)データベース { #sql-relational-databases }
FastAPI は SQL(リレーショナル)データベースの使用を必須にはしません。必要であれば、任意のデータベースを使用できます。
ここでは [SQLModel](https://sqlmodel.tiangolo.com/) を使った例を見ていきます。