Django Ninjaは、DjangoとPython 3.6+の型ヒントを使用してAPIを構築するためのウェブフレームワークです。主な特徴は以下の通りです:
- 使いやすさ: 使いやすく直感的に設計されています。
- 高速な実行: Pydanticと非同期サポートのおかげで非常に高性能です。
- 迅速なコーディング: 型ヒントと自動ドキュメンテーションにより、ビジネスロジックにだけ集中できます。
以下に、Django Ninjaを使用してAPIを作成する簡単な例を示します:
from ninja import NinjaAPI
api = NinjaAPI()
@api.get("/add")
def add(request, a: int, b: int):
return {"result": a + b}
このコードは、/api/add
にHTTP GETリクエストを受け取り、GETパラメータa
とb
を取得、検証、型キャストし、結果をJSONにデコードし、定義された操作のOpenAPIスキーマを生成します。
Django Ninjaは、APIのオープンスタンダードであるOpenAPI(以前はSwaggerとして知られていました)とJSONスキーマに基づいています。また、DjangoコアとORMとの良好な統合があります。
このフレームワークは、すでに複数の企業でライブプロジェクトに使用されており、本番環境での使用に耐えうることが確認されています。
Django Ninjaを使用することで、Python 3.6+の標準的なモダンなPython型だけでパラメータ、ボディなどの型を一度だけ宣言することができます。新しい構文、特定のライブラリのメソッドやクラスを学ぶ必要はありません。これにより、エディタのサポート(補完、型チェックなど)、データの検証、入力データの変換、APIドキュメンテーションの自動生成などが可能になります。
以上が、Python Django Ninjaについての基本的な情報となります。このフレームワークを使用することで、PythonとDjangoを用いたAPI開発がより効率的かつ高速に行えることでしょう。