Co-authored-by: ryusuke.miyaji <bluce826@gmail.com> Co-authored-by: ryuckel <36391432+ryuckel@users.noreply.github.com> Co-authored-by: tokusumi <tksmtoms@gmail.com> Co-authored-by: T. Tokusumi <41147016+tokusumi@users.noreply.github.com> Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
4.3 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!}
そのステータスコードはレスポンスで使用され、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!}
これらはOpenAPIスキーマに追加され、自動ドキュメントのインターフェースで使用されます:
概要と説明
summaryとdescriptionを追加できます:
{!../../../docs_src/path_operation_configuration/tutorial003.py!}
docstringを用いた説明
説明文は長くて複数行におよぶ傾向があるので、関数docstring内にpath operationの説明文を宣言できます。すると、FastAPI は説明文を読み込んでくれます。
docstringにMarkdownを記述すれば、正しく解釈されて表示されます。(docstringのインデントを考慮して)
{!../../../docs_src/path_operation_configuration/tutorial004.py!}
これは対話的ドキュメントで使用されます:
レスポンスの説明
response_descriptionパラメータでレスポンスの説明をすることができます。
{!../../../docs_src/path_operation_configuration/tutorial005.py!}
!!! info "情報"
respnse_descriptionは具体的にレスポンスを参照し、descriptionはpath operation全般を参照していることに注意してください。
!!! check "確認" OpenAPIはpath operationごとにレスポンスの説明を必要としています。
そのため、それを提供しない場合は、**FastAPI** が自動的に「成功のレスポンス」を生成します。
非推奨のpath operation
path operationをdeprecatedとしてマークする必要があるが、それを削除しない場合は、deprecatedパラメータを渡します:
{!../../../docs_src/path_operation_configuration/tutorial006.py!}
対話的ドキュメントでは非推奨と明記されます:
path operationsが非推奨である場合とそうでない場合でどのように見えるかを確認してください:
まとめ
path operationデコレータにパラメータを渡すことで、path operationsのメタデータを簡単に設定・追加することができます。