FastAPIとSwaggerの基本的な使い方
FastAPIは、Pythonの非常に高速な(高性能)、使いやすい、モダンな、高速(高性能)Webフレームワークです。それは非常に直感的で簡単に使うことができます。
一方、SwaggerはAPIの設計、ビルド、文書化、および使用を支援するためのオープンソースソフトウェアフレームワークです。
以下に、FastAPIとSwaggerを使用してWeb APIを作成する基本的な手順を示します。
- FastAPIのインストール: FastAPIはpipを使用して簡単にインストールできます。
pip install fastapi
- FastAPIアプリケーションの作成: FastAPIを使用して基本的なWeb APIを作成します。
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
- Swagger UIの起動: FastAPIアプリケーションを起動すると、Swagger UIは自動的に有効になります。デフォルトでは、Swagger UIは
http://localhost:8000/docs
でアクセスできます。
以上がFastAPIとSwaggerの基本的な使い方です。次のセクションでは、これらのツールを使用してEnumを定義し、Swaggerで表示する方法について詳しく説明します。
FastAPIでEnumを定義する方法
Pythonのenum
モジュールを使用して、FastAPIでEnumを定義することができます。以下にその手順を示します。
- Enumのインポート: まず、Pythonの
enum
モジュールをインポートします。
from enum import Enum
- Enumの定義: 次に、Enumクラスを定義します。各Enumメンバーは一意の名前と値を持ちます。
class Color(Enum):
RED = "red"
GREEN = "green"
BLUE = "blue"
- FastAPIでのEnumの使用: FastAPIのルート操作でEnumを使用することができます。以下の例では、
Color
Enumをパスパラメータとして使用しています。
from fastapi import FastAPI
from enum import Enum
class Color(Enum):
RED = "red"
GREEN = "green"
BLUE = "blue"
app = FastAPI()
@app.get("/items/{color}")
def read_item(color: Color):
return {"color": color.value}
以上がFastAPIでEnumを定義する方法です。このEnumは、Swagger UIで選択可能な値として表示されます。次のセクションでは、SwaggerでEnumを表示する方法について詳しく説明します。
SwaggerでEnumを表示する方法
FastAPIとPythonのEnumを使用すると、Swagger UIで選択可能な値としてEnumを表示することができます。以下にその手順を示します。
-
FastAPIアプリケーションの起動: FastAPIアプリケーションを起動します。デフォルトでは、Swagger UIは
http://localhost:8000/docs
でアクセスできます。 -
Swagger UIの確認: Swagger UIを開くと、定義したEnumが選択可能な値として表示されます。以下の例では、
Color
Enumがパスパラメータとして使用されており、Swagger UIではred
、green
、blue
の3つの選択肢が表示されます。
以上がSwaggerでEnumを表示する方法です。この方法を使用すると、APIの利用者はSwagger UIを通じてEnumの各値を簡単に選択し、APIをテストすることができます。次のセクションでは、FastAPIとSwaggerでEnumを活用する具体的な例について詳しく説明します。
FastAPIとSwaggerでEnumを活用する具体的な例
FastAPIとSwaggerを使用してEnumを活用する具体的な例を以下に示します。
- Enumの定義: まず、Pythonの
enum
モジュールを使用してEnumを定義します。この例では、Color
という名前のEnumを定義します。
from enum import Enum
class Color(Enum):
RED = "red"
GREEN = "green"
BLUE = "blue"
- FastAPIでのEnumの使用: 次に、FastAPIのルート操作でEnumを使用します。この例では、
Color
Enumをパスパラメータとして使用しています。
from fastapi import FastAPI
from enum import Enum
class Color(Enum):
RED = "red"
GREEN = "green"
BLUE = "blue"
app = FastAPI()
@app.get("/items/{color}")
def read_item(color: Color):
return {"color": color.value}
- Swagger UIでのEnumの表示: FastAPIアプリケーションを起動し、Swagger UIを開くと、定義したEnumが選択可能な値として表示されます。この例では、
Color
Enumがパスパラメータとして使用されており、Swagger UIではred
、green
、blue
の3つの選択肢が表示されます。
以上がFastAPIとSwaggerでEnumを活用する具体的な例です。この方法を使用すると、APIの利用者はSwagger UIを通じてEnumの各値を簡単に選択し、APIをテストすることができます。