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.

2.3 KiB

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!}