Published

Path Operationの高度な設定

FastAPI framework, high performance, easy to learn, fast to code, ready for production We just scratched the surface, but you already get the idea of how it all works...

Path Operationの高度な設定

OpenAPI operationId

!!! warning "注意" あなたがOpenAPIの「エキスパート」でなければ、これは必要ないかもしれません。

path operationoperation_id パラメータを利用することで、OpenAPIの operationId を設定できます。

operation_id は各オペレーションで一意にする必要があります。

{!../../../docs_src/path_operation_advanced_configuration/tutorial001.py!}

path operation関数 の名前をoperationIdとして使用する

APIの関数名を operationId として利用したい場合、すべてのAPIの関数をイテレーションし、各 path operationoperationIdAPIRoute.name で上書きすれば可能です。

そうする場合は、すべての path operation を追加した後に行う必要があります。

{!../../../docs_src/path_operation_advanced_configuration/tutorial002.py!}

!!! tip "豆知識" app.openapi() を手動でコールする場合、その前にoperationIdを更新する必要があります。

!!! warning "注意" この方法をとる場合、各 path operation関数 が一意な名前である必要があります。

それらが異なるモジュール (Pythonファイル) にあるとしてもです。

OpenAPIから除外する

生成されるOpenAPIスキーマ (つまり、自動ドキュメント生成の仕組み) から path operation を除外するには、 include_in_schema パラメータを False にします。

{!../../../docs_src/path_operation_advanced_configuration/tutorial003.py!}

docstringによる説明の高度な設定

path operation関数 のdocstringからOpenAPIに使用する行を制限することができます。

\f (「書式送り (Form Feed)」のエスケープ文字) を付与することで、FastAPI はOpenAPIに使用される出力をその箇所までに制限します。

ドキュメントには表示されませんが、他のツール (例えばSphinx) では残りの部分を利用できるでしょう。

{!../../../docs_src/path_operation_advanced_configuration/tutorial004.py!}