開発している家計簿アプリSUMUMAのAPIとAPIドキュメントを公開しました。
ドキュメントはSwaggerとRedocの2種類で公開しています。
Swagger SUMUMA API
Redoc SUMUMA API
APIとドキュメントの公開には、Django Rest Frameworkとdrf-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ドキュメントのルーティングとドキュメントの情報を付加するだけです。
アクセス制限や認証、パーミッションの設定も可能です。
APIクライアントも生成
drf-yasgはSwagger Codegenもサポートしているため、APIクライアントの自動生成も可能です。サポートしている言語も豊富なため、開発に利用しやすいこととプロダクトのスケールにも活用できます。
スキーマ駆動を検討している方はぜひご検討ください。