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/
以上!!
お疲れ様です☺️☺️☺️☺️☺️