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