4.2 KiB
Path Operationの設定
path operationデコレータを設定するためのパラメータがいくつかあります。
/// warning | 注意
これらのパラメータはpath operation関数ではなく、path operationデコレータに直接渡されることに注意してください。
///
レスポンスステータスコード
path operationのレスポンスで使用する(HTTP)status_code
を定義することができます。
404
のようにint
のコードを直接渡すことができます。
しかし、それぞれの番号コードが何のためのものか覚えていない場合は、status
のショートカット定数を使用することができます:
{* ../../docs_src/path_operation_configuration/tutorial001.py hl[3,17] *}
そのステータスコードはレスポンスで使用され、OpenAPIスキーマに追加されます。
/// note | 技術詳細
また、from starlette import status
を使用することもできます。
FastAPI は開発者の利便性を考慮して、fastapi.status
と同じstarlette.status
を提供しています。しかし、これはStarletteから直接提供されています。
///
タグ
tags
パラメータをstr
のlist
(通常は1つのstr
)と一緒に渡すと、path operationにタグを追加できます:
{* ../../docs_src/path_operation_configuration/tutorial002.py hl[17,22,27] *}
これらはOpenAPIスキーマに追加され、自動ドキュメントのインターフェースで使用されます:

概要と説明
summary
とdescription
を追加できます:
{* ../../docs_src/path_operation_configuration/tutorial003.py hl[20:21] *}
docstringを用いた説明
説明文は長くて複数行におよぶ傾向があるので、関数docstring内にpath operationの説明文を宣言できます。すると、FastAPI は説明文を読み込んでくれます。
docstringにMarkdownを記述すれば、正しく解釈されて表示されます。(docstringのインデントを考慮して)
{* ../../docs_src/path_operation_configuration/tutorial004.py hl[19:27] *}
これは対話的ドキュメントで使用されます:

レスポンスの説明
response_description
パラメータでレスポンスの説明をすることができます。
{* ../../docs_src/path_operation_configuration/tutorial005.py hl[21] *}
/// info | 情報
respnse_description
は具体的にレスポンスを参照し、description
はpath operation全般を参照していることに注意してください。
///
/// check | 確認
OpenAPIはpath operationごとにレスポンスの説明を必要としています。
そのため、それを提供しない場合は、FastAPI が自動的に「成功のレスポンス」を生成します。
///

非推奨のpath operation
path operationをdeprecatedとしてマークする必要があるが、それを削除しない場合は、deprecated
パラメータを渡します:
{* ../../docs_src/path_operation_configuration/tutorial006.py hl[16] *}
対話的ドキュメントでは非推奨と明記されます:

path operationsが非推奨である場合とそうでない場合でどのように見えるかを確認してください:

まとめ
path operationデコレータにパラメータを渡すことで、path operationsのメタデータを簡単に設定・追加することができます。