Repolode
axnsan12

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 の数値は毎日更新されます。

関連プロジェクト