FastAPIとSwaggerドキュメンテーションの概要
FastAPIは、Pythonの高速な(高性能)、Webフレームワークで、非常に直感的で簡単に使用でき、高速な開発を可能にします。FastAPIは、Python 3.6以降の型ヒントを使用してAPIパラメータの型を宣言します。これにより、エディタのサポート(補完、型チェックなど)が大幅に向上し、直感的なAPIドキュメンテーションとデータ検証が可能になります。
Swaggerは、RESTful APIを設計、構築、文書化、消費するための強力なオープンソースフレームワークです。Swaggerは、APIの全体的なビジュアル表現を提供し、APIの各エンドポイントの詳細を視覚的に表示します。
- FastAPIとSwaggerを組み合わせると、FastAPIは自動的にJSONスキーマを生成し、Swagger UIを使用してそのスキーマを視覚化します。これにより、開発者はAPIの全体的な構造を理解しやすくなり、エンドポイント、パス、パラメータ、ボディリクエスト、レスポンスなどの詳細を確認できます。また、Swagger UIを使用すると、ブラウザから直接APIリクエストを行うことも可能です。
-
https://fastapi.tiangolo.com/
-
https://fastapi.tiangolo.com/python-types/
-
https://fastapi.tiangolo.com/features/
-
https://swagger.io/
-
https://swagger.io/tools/swagger-ui/
-
https://fastapi.tiangolo.com/tutorial/schema-extra-example/
-
https://fastapi.tiangolo.com/tutorial/body-fields/
-
https://fastapi.tiangolo.com/tutorial/testing-swagger-ui/
@Schema(hidden=True)の使用方法とその効果
FastAPIでは、pydantic.Schema
を使用してモデルのフィールドにメタデータを追加することができます。このメタデータは、FastAPIがSwagger UIやReDocなどの自動APIドキュメンテーションを生成する際に使用されます。
@Schema
デコレータのhidden=True
パラメータを使用すると、特定のフィールドをAPIドキュメンテーションから非表示にすることができます。これは、内部的な使用のためのフィールドや、エンドユーザーに表示したくないフィールドを持つ場合に便利です。
以下に、@Schema(hidden=True)
の使用例を示します。
from pydantic import BaseModel, Schema
class MyModel(BaseModel):
visible_field: str = Schema(..., description="This field will be visible in the documentation")
hidden_field: str = Schema(..., description="This field will not be visible in the documentation", hidden=True)
この例では、visible_field
は通常通りドキュメンテーションに表示されますが、hidden_field
はドキュメンテーションから非表示になります。
- ただし、
hidden=True
を設定しても、そのフィールドは依然としてAPIの動作に影響を及ぼします。つまり、フィールドは依然としてリクエストボディの一部として送信され、レスポンスボディの一部として受信されます。ただし、その存在はドキュメンテーションからは見えなくなります。 -
https://fastapi.tiangolo.com/tutorial/schema-extra-example/
-
https://pydantic-docs.helpmanual.io/usage/schema/
-
https://fastapi.tiangolo.com/tutorial/body-fields/
-
https://fastapi.tiangolo.com/tutorial/response-model/
-
https://fastapi.tiangolo.com/tutorial/extra-models/
-
https://fastapi.tiangolo.com/tutorial/path-params/
-
https://fastapi.tiangolo.com/tutorial/query-params/
-
https://fastapi.tiangolo.com/tutorial/body-nested-models/
-
https://fastapi.tiangolo.com/tutorial/response-model/
Swagger UIパラメータを使用してスキーマセクションを制御する方法
Swagger UIは、APIのドキュメンテーションを視覚的に表示するためのツールであり、FastAPIはSwagger UIを自動的に提供します。Swagger UIは、APIのエンドポイント、パス、パラメータ、リクエストボディ、レスポンスなどの詳細を視覚的に表示します。また、Swagger UIを使用すると、ブラウザから直接APIリクエストを行うことも可能です。
Swagger UIの表示は、FastAPIのFastAPI
クラスのインスタンス化時に設定するパラメータによってカスタマイズできます。これには、Swagger UIの表示を制御するためのパラメータが含まれます。
以下に、FastAPIのSwagger UIパラメータを使用してスキーマセクションを制御する例を示します。
from fastapi import FastAPI
app = FastAPI(
title="My Super Project",
description="This is a very fancy project, with auto docs for the API and everything",
version="2.5.0",
openapi_url="/api/v1/openapi.json",
docs_url="/api/v1/docs",
)
この例では、FastAPI
クラスのインスタンス化時にいくつかのパラメータを設定しています。これらのパラメータは、Swagger UIの表示を制御します。
title
: APIのタイトル。Swagger UIのヘッダーに表示されます。description
: APIの説明。Swagger UIのヘッダーに表示されます。version
: APIのバージョン。Swagger UIのヘッダーに表示されます。openapi_url
: OpenAPIスキーマのURL。Swagger UIはこのURLからスキーマを読み込みます。docs_url
: Swagger UIのURL。このURLにアクセスするとSwagger UIが表示されます。
- これらのパラメータを使用すると、Swagger UIの表示をカスタマイズし、特定のスキーマセクションを制御することができます。
-
https://fastapi.tiangolo.com/tutorial/schema-extra-example/
-
https://fastapi.tiangolo.com/tutorial/body-fields/
-
https://fastapi.tiangolo.com/tutorial/response-model/
-
https://fastapi.tiangolo.com/tutorial/extra-models/
-
https://fastapi.tiangolo.com/tutorial/path-params/
-
https://fastapi.tiangolo.com/tutorial/query-params/
-
https://fastapi.tiangolo.com/tutorial/body-nested-models/
-
https://fastapi.tiangolo.com/tutorial/response-model/
-
https://fastapi.tiangolo.com/tutorial/testing-swagger-ui/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata
特定のエンドポイントからスキーマを除外する方法
FastAPIでは、特定のエンドポイントからスキーマを除外することが可能です。これは、特定のエンドポイントの詳細をAPIドキュメンテーションから非表示にしたい場合に便利です。
FastAPIのエンドポイントは、デコレータ(@app.get()
, @app.post()
など)を使用して定義されます。これらのデコレータは、エンドポイントの動作を制御するためのパラメータを受け取ることができます。
エンドポイントからスキーマを除外するには、エンドポイントデコレータにinclude_in_schema=False
パラメータを設定します。これにより、そのエンドポイントはSwagger UIやReDocなどのAPIドキュメンテーションから除外されます。
以下に、特定のエンドポイントからスキーマを除外する例を示します。
from fastapi import FastAPI
app = FastAPI()
@app.get("/hidden-endpoint", include_in_schema=False)
def hidden_endpoint():
return {"message": "This is a hidden endpoint"}
- この例では、
/hidden-endpoint
エンドポイントはAPIドキュメンテーションから除外されます。しかし、そのエンドポイントは依然として動作し、リクエストを受け取りレスポンスを返すことができます。 -
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/path-params/
-
https://fastapi.tiangolo.com/tutorial/query-params/
-
https://fastapi.tiangolo.com/tutorial/body-nested-models/
-
https://fastapi.tiangolo.com/tutorial/response-model/
-
https://fastapi.tiangolo.com/tutorial/testing-swagger-ui/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com
カスタムOpenAPIスキーマを生成して特定のスキーマを非表示にする方法
FastAPIは、OpenAPIスキーマを自動的に生成します。このスキーマは、Swagger UIやReDocなどのAPIドキュメンテーションツールで使用されます。しかし、場合によっては、自分でカスタムOpenAPIスキーマを生成し、特定のスキーマを非表示にしたいことがあります。
FastAPIのFastAPI
クラスには、openapi_schema
という属性があります。これは、FastAPIが生成したOpenAPIスキーマを表します。このスキーマはPythonの辞書(dict
)であり、OpenAPIスキーマの各部分をキーと値のペアとして表現します。
特定のスキーマを非表示にするには、openapi_schema
をコピーし、そのコピーから特定のスキーマを削除します。その後、このカスタムスキーマをFastAPIアプリケーションの新しいOpenAPIスキーマとして設定します。
以下に、カスタムOpenAPIスキーマを生成して特定のスキーマを非表示にする例を示します。
from fastapi import FastAPI
from fastapi.openapi.utils import get_openapi
app = FastAPI()
@app.get("/hidden-endpoint")
def hidden_endpoint():
return {"message": "This is a hidden endpoint"}
def custom_openapi():
if app.openapi_schema:
return app.openapi_schema
openapi_schema = get_openapi(
title="Custom schema",
version="2.5.0",
description="This is a very custom OpenAPI schema",
routes=app.routes,
)
# Remove the hidden endpoint from the schema
openapi_schema["paths"].pop("/hidden-endpoint")
app.openapi_schema = openapi_schema
return app.openapi_schema
app.openapi = custom_openapi
この例では、custom_openapi
関数を定義しています。この関数は、FastAPIのOpenAPIスキーマを取得し、/hidden-endpoint
エンドポイントをスキーマから削除します。その後、このカスタムスキーマをFastAPIアプリケーションの新しいOpenAPIスキーマとして設定します。
- この方法を使用すると、特定のスキーマをAPIドキュメンテーションから非表示にすることができます。
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/path-params/
-
https://fastapi.tiangolo.com/tutorial/query-params/
-
https://fastapi.tiangolo.com/tutorial/body-nested-models/
-
https://fastapi.tiangolo.com/tutorial/response-model/
-
https://fastapi.tiangolo.com/tutorial/testing-swagger-ui/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi.tiangolo.com/tutorial/path-operation-configuration/
-
https://fastapi.tiangolo.com/tutorial/openapi-tags/
-
https://fastapi.tiangolo.com/tutorial/metadata/
-
https://fastapi