FastAPIのドキュメント表示方法と無効にする方法

FastAPIでOpenAPIを表示する方法と無効にする方法が忘れがちなので、覚書として記述していきます。

FastAPIでOpenAPIを表示

FastAPIはデフォルトでOpenAPIを自動生成してくれます。
自動生成されたOpenAPIはSwaggerとReDoc、jsonで表示する事ができます。

Swaggerによる表示

Swaggerによる表示を行いたい場合、デフォルトで /docs にアクセスする事で可能となります。

URL変更方法

FastAPIのオブジェクト作成時、引数を渡すことで変更する事が可能です。

from fastapi import FastAPI

app = FastAPI(docs_url="/docs/swagger")

ReDocによる表示

ReDocによる表示を行いたい場合、デフォルトで /redoc にアクセスする事で可能となります。

URL変更方法

Swaggerと同様、オブジェクト作成時に引数を渡す事で変更する事が可能です。

from fastapi import FastAPI

app = FastAPI(redoc_url="/docs/redoc")

jsonの表示

OpenAPIのjsonファイルを直接表示したい場合、デフォルトで /openapi.json にアクセスする事で可能となります。

URL変更方法

jsonファイルのURLも、オブジェクト作成時に引数を渡すことで可能です。

from fastapi import FastAPI

app = FastAPI(openapi_url="/docs/openapi.json")

FastAPIのOpenAPIを無効化

本番環境へのデプロイ時など、OpenAPIを公開しないようにする必要がある事があります。
その際は、URL変更時に使用していた引数に None を渡すことで可能となります。

from fastapi import FastAPI

app = FastAPI(docs_url=None, redoc_url=None, openapi_url=None)

終わりに

その他、カスタマイズしたドキュメントの公開などより詳しい内容は公式ドキュメントに記載されているので、気になる方はこちらを参照ください。