OpenAPI、Swagger、AsyncAPI、GraphQLの定義から、レスポンシブな3ペイン構成のAPIリファレンスサイトを生成するオープンソースツール。
axnsan12/drf-yasg
Django REST Framework APIから、実際のSwagger/OpenAPI 2.0仕様書とインタラクティブなドキュメントを生成します。
- スター
- 3,547
- フォーク
- 439
- 未解決の Issue
- 218
- 最終コミット
- 29 日前
これは何?
drf-yasgはDjango REST Frameworkのビューとシリアライザーを調べてOpenAPI 2.0(Swagger)スキーマを生成するため、APIドキュメントを手作業で保守せず、コードに反映された内容にできます。スキーマはJSONまたはYAMLで配信でき、swagger-uiとReDocも同梱されているため、生成したドキュメントをプロジェクトから直接閲覧できます。
セットアップでは、アプリをINSTALLED_APPSに追加し、urls.pyにスキーマビューを設定します。ネストしたシリアライザーに対応しており、仕様書生成の各段階でカスタマイズ用のフックを利用できます。キャッシュは組み込みで、swagger-spec-validatorによるスキーマ検証も任意で有効にできます。
このプロジェクトが対象とするのはOpenAPI 2.0のみです。OpenAPI 3.0が必要な新規プロジェクトには、メンテナーはdrf-spectacularを案内しており、READMEにはdrf-yasgが3.0に対応する可能性は低いと記載されています。
主な機能
- 01DRFのビューとシリアライザーから、ネストしたシリアライザーも含めてSwagger/OpenAPI 2.0仕様書を生成します。
- 02仕様書をJSONまたはYAMLで配信します。
- 03ドキュメント閲覧用にswagger-uiとReDocを同梱しています。
- 04仕様書生成の各段階でカスタマイズ用のフックを利用できます。
- 05swagger-spec-validatorによる任意の検証と、組み込みのレスポンスキャッシュに対応しています。
- 06URLPathVersioningとNamespaceVersioningに対応しています。
ユースケース
- 仕様書を手作業で作成せずに、既存のDjango REST Framework APIをドキュメント化する。
- swagger-codegenでクライアントコードを生成するためのOpenAPI 2.0ファイルを作成する。
- Djangoプロジェクトから、社内または一般の開発者向けにインタラクティブなAPIドキュメントを公開する。
トピック
よくある質問
- drf-yasg とは?
- Django REST Framework APIから、実際のSwagger/OpenAPI 2.0仕様書とインタラクティブなドキュメントを生成します。 drf-yasgはDjango REST Frameworkのビューとシリアライザーを調べてOpenAPI 2.0(Swagger)スキーマを生成するため、APIドキュメントを手作業で保守せず、コードに反映された内容にできます。スキーマはJSONまたはYAMLで配信でき、swagger-uiとReDocも同梱されているため、生成したドキュメントをプロジェクトから直接閲覧できます。
- drf-yasg は無料で使えますか?ライセンスは?
- drf-yasg は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- drf-yasg は今もメンテナンスされていますか?
- 活発にメンテナンス中。drf-yasg の最終コミットは 2026年10月9日 です。
- drf-yasg は何に使えますか?
- 仕様書を手作業で作成せずに、既存のDjango REST Framework APIをドキュメント化する。 swagger-codegenでクライアントコードを生成するためのOpenAPI 2.0ファイルを作成する。 Djangoプロジェクトから、社内または一般の開発者向けにインタラクティブなAPIドキュメントを公開する。
- drf-yasg はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/axnsan12/drf-yasg
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
コードのアノテーションやJAX-RS REST APIからOpenAPI仕様を生成するJavaライブラリ。OpenAPI 3.xに対応。
Swagger UIは、OpenAPI/Swagger仕様ファイルからブラウザー上で操作可能なAPIドキュメントを生成します。
インタラクティブなAPIリファレンス、オフラインファーストのAPIクライアント、多数のWebフレームワーク向け連携機能を備えたオープンソースのOpenAPI/Swaggerツールキット。
Goのソースコードコメントに記述したアノテーションからSwagger 2.0のAPIドキュメントを生成するツールです。
Django上で型ヒントを使ったREST APIを構築できるPython製Webフレームワーク。OpenAPIドキュメントの自動生成とPydanticによるバリデーションに対応。