くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

Django REST Framework+SwaggerでAPIドキュメント自動生成

Django REST FrameworkにSwaggerを簡単に入れれるらしいので試してみたときの備忘録。

インストール

とりあえず、pipでインストール

$ pip install django-rest-swagger

あわせて、settings.pyにも追加&設定

INSTALLED_APPS = (
    ...
    'rest_framework',
    'rest_framework_swagger',
)

# 認証ありのAPIもSwaggerUIから使えるように、`LOGIN_URL`とか`DEFAULT_AUTHENTICATION_CLASSES`を設定
LOGIN_URL = 'rest_framework:login'
LOGOUT_URL = 'rest_framework:logout'

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.BasicAuthentication',
    ),
}

URLマッピングを追加

SwaggerUIへのパスをurls.pyに追加。
認証のURLも合わせて追加しておく。

from rest_framework_swagger.views import get_swagger_view

schema_view = get_swagger_view(title='API Lists')
urlpatterns += [
    url(r'^swagger/', schema_view),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]

あとは、ブラウザからアクセスするだけ!

http://localhost:8080/swaggerにアクセスすると、APIViewとかからドキュメントを作ってくれます!

便利!

参考になる書籍

基礎から学ぶ Django

基礎から学ぶ Django

  • 作者: 関根裕紀,新井正貴
  • 出版社/メーカー: シーアンドアール研究所
  • 発売日: 2019/07/01
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

Python Django 超入門

Python Django 超入門

現場で使える Django の教科書《基礎編》

現場で使える Django の教科書《基礎編》

参考にしたサイト様