FastAPI は、Python ベースのAPIを構築するための最新の高速 (高性能) Web フレームワークです。これは、Starlette および Pydantic ライブラリ上に構築されたオープン ソース プロジェクトであり、強力な機能と効率的なパフォーマンスを提供します。
FastAPI公式サイトアドレス:FastAPI
FastAPI の機能
FastAPI の主な機能は次のとおりです。
- 高速かつ効率的
async
: 非同期プログラミング モデル (Python 3.7 以降のおよびキーワードを使用) に基づいて、FastAPI はawait
Python の非同期エコシステムを利用して、優れたパフォーマンスとスループットを提供します。 - 自動ドキュメント生成: FastAPI は、API のインタラクティブなドキュメントを自動的に生成でき、リクエスト パラメーターと応答モデルの自動検出をサポートし、対応する API ドキュメントを生成します。
- データ検証と変換: FastAPI は、強力なデータ検証および変換機能を提供する Pydantic ライブラリを使用し、リクエスト データと応答データの検証、変換、シリアル化を自動的に処理できます。
- タイプ ヒント: FastAPI は Python のタイプ ヒント メカニズムに基づいており、厳密に型指定されたリクエストと応答の処理を提供します。これにより、多くの一般的なエラーが削減され、コード ヒントと読みやすさが向上します。
- セキュリティ認証: FastAPI は、OAuth2、JWT などの一般的な認証方法をサポートし、API 通信のセキュリティを保護できる HTTPS のサポートを提供します。
- 強力なエコシステム: FastAPI は、SQLAlchemy、データベース、Redis などの多くの Python エコシステムのツールやライブラリとシームレスに統合できます。
FastAPIの使い方は?
以下の手順は、FastAPI を使用して単純な Web アプリケーションの構築を開始するのに役立ちます。
1. FastAPI をインストールします。コマンド ラインで次のコマンドを実行してfastapi
インストールしますuvicorn
。
pip install fastapi
2. FastAPI アプリケーションの作成: お気に入りの IDE エディターで新しい Python ファイルを作成しますfastapi-demo.py
。次に、次のコードをファイルにコピーします。
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
上記のコードは、app
という名前の FastAPI インスタンスを作成し、単純な JSON 応答を返すルート ルートを定義します。
3. FastAPI アプリケーションを実行します。コマンド ラインで次のコマンドを実行して、FastAPI アプリケーションを開始します。
uvicorn main:app --reload
FastAPI はサーバーをローカルで起動し、デフォルトのポート (8000) をリッスンします。ブラウザでアクセスしてhttp://127.0.0.1:8000
、{"Hello": "World"}
からの応答を確認できます。
4. ルートと関数をさらに追加します: アプリケーションにルートと関数を追加し続け、ニーズに応じて拡張できます。
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
上記のコードは、パラメーターとオプションのパラメーターread_item
を受け取り、JSON 応答を返す という新しいルートを追加します。item_id
q
実践事例
以下は、IDE エディタで直接実行できるコードである FastAPI を使用して構築された実際のケースです。
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": f"接口id:{item_id}"}
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="127.0.0.1", port=8000)
上記のコードを IDE エディタにコピーして実行します。次に、ブラウザからアクセスすると、応答http://localhost:8000/
が表示されます。同様に、にアクセスして、パラメーターを含む応答を表示すること{"Hello": "World"}
もできます。http://localhost:8000/items/42?q=somequery
FastAPIのデバッグ
Apifox を使用すると、FastAPI をより簡単にデバッグできます。
インターフェイスをすばやくデバッグしたい場合は、新しいプロジェクトを作成した後、プロジェクトで「デバッグ モード」を選択し、リクエスト アドレスを入力し、すぐにリクエストを送信してレスポンス結果を取得します。上記の実践例は、形:
要約する
FastAPI は、高性能で使いやすい最新の Python Web フレームワークであり、最新の Python 機能と非同期プログラミングを使用して Web API を迅速に開発する機能を提供します。このフレームワークは学習と使用が簡単であるだけでなく、自動ドキュメント生成やデータ検証などの強力な機能も備えています。小規模なプロジェクトを構築する場合でも、大規模なアプリケーションを構築する場合でも、FastAPI は強力で効果的なツールです。
FastAPI の概念と使用法を理解したので、公式 Web サイトにアクセスし、FastAPI を使用して独自の Web アプリケーションを構築してみることができます。
知識の拡大
FastAPI の使用について詳しくは、こちらをご覧ください。
参考リンク:
- FastAPI 公式ドキュメント