You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

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パラメータをstrlist(通常は1つのstr)と一緒に渡すと、path operationにタグを追加できます:

{* ../../docs_src/path_operation_configuration/tutorial002.py hl[17,22,27] *}

これらはOpenAPIスキーマに追加され、自動ドキュメントのインターフェースで使用されます:

概要と説明

summarydescriptionを追加できます:

{* ../../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は具体的にレスポンスを参照し、descriptionpath operation全般を参照していることに注意してください。

///

/// check | 確認

OpenAPIはpath operationごとにレスポンスの説明を必要としています。

そのため、それを提供しない場合は、FastAPI が自動的に「成功のレスポンス」を生成します。

///

非推奨のpath operation

path operationdeprecatedとしてマークする必要があるが、それを削除しない場合は、deprecatedパラメータを渡します:

{* ../../docs_src/path_operation_configuration/tutorial006.py hl[16] *}

対話的ドキュメントでは非推奨と明記されます:

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

まとめ

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