4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

DjangoでAPIドキュメントを自動生成しよう

Posted at

開発している家計簿アプリSUMUMAのAPIとAPIドキュメントを公開しました。
ドキュメントはSwaggerとRedocの2種類で公開しています。
Swagger SUMUMA API
Redoc SUMUMA API

APIとドキュメントの公開には、Django Rest Frameworkdrf-yasgを使いました。

Django Rest Framework

Django Rest Framework(以下DRFで表記)は、DjangoアプリでAPIを提供するためのパッケージです。DjangoでAPIを実装するときに、必ずと言っていいほど使われています。

DRFはOpenAPIという、RESTful APIを定義するためのフォーマットをサポートしています。OpenAPIを元にAPIドキュメントを生成することもできます。

DRFのドキュメントには、パッケージを使わずにAPIドキュメントを作成できる方法が紹介されていますが、認証やUIなどの設定項目が多いためdrf-yasgというパッケージを利用して簡単にドキュメントを自動生成していきます。

drf-yasg

drf-yasgはDRFでAPIドキュメントを生成することができるサードパーティパッケージです。Swagger UIとしてドキュメントを生成でき、Redocもサポートされています。

設定は容易で、APIドキュメントのルーティングとドキュメントの情報を付加するだけです。
アクセス制限や認証、パーミッションの設定も可能です。

Swagger UI
スクリーンショット 2023-04-16 23.47.44.png

Redoc
スクリーンショット 2023-04-16 23.53.31.png

APIクライアントも生成

drf-yasgはSwagger Codegenもサポートしているため、APIクライアントの自動生成も可能です。サポートしている言語も豊富なため、開発に利用しやすいこととプロダクトのスケールにも活用できます。

スキーマ駆動を検討している方はぜひご検討ください。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?