LoginSignup
4
1

More than 3 years have passed since last update.

Django APIドキュメントにSwaggerの設定をする

Last updated at Posted at 2020-10-25

APIドキュメント

APIがたくさん増えてどんなAPIがあるかわからない!!
的なことが起きたのでDjangoでAPIドキュメントの設定をしていきます😃

そこで今回は、Swaggerを導入していきたいと思います😃

設定方法

インストール

terminal
pip install drf_yasg

drf_yasgは、djangorestframeworkのバージョンによっては、エラーが発生するようなので注意です😭😭😭
私がそれ⇦
(djangorestframeworkのバージョンが3.12だと出るかも😭)
その場合は、drf_yasg2をインストール

terminal

pip install drf_yasg2

settingのINSTALLED_APPSに追加

drf_yasgの方はdrf_yasg2を適時読み変えてください。

setting.py
INSTALLED_APPS = [
    ...
    'rest_framework',
    'django_filters',
    'drf_yasg2', # <- or drf_yasg

]

プロジェクトのurls.pyに追加

urls.py
from drf_yasg2 import openapi # <- or from drf_yasg
from drf_yasg2.views import get_schema_view # <- or from drf_yasg

schema_view = get_schema_view(
    openapi.Info(
        title="Snippets API",
        default_version='v1',
    ),
    public=True,
    permission_classes=(permissions.AllowAny,),
)

urlpatterns += [
    re_path('^swagger(?P<format>\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'),
    path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
    path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
]

完成

ブラウザでアクセスすると
http://localhost:8000/redoc/

http://localhost:8000/swagger/

こんな感じで確認することができます😃😃😃😃😃😃
スクリーンショット 2020-10-25 23.53.07.png

公式サイトはこちらです!!

以上!!
お疲れ様です☺️☺️☺️☺️☺️

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