(참고) django rest framework는 설치가 되어있다는 가정하에 아래 내용을 진행하겠다.
drf-yasg란?
swagger라는게 있는데 해당 사항은 더 이상 패키지를 관리하지 않는다고 하여 drf-yasg를 사용하는 추세이기도 하다.
그래서 다른게 있는가? 다른건 없고 같은 API 문서 자동화 패키지 이다.
drf-yasg install 및 설정
drf-yasg 라이브러리 설치
$ pip install -U drf-yasg
settings.py 설정
INSTALLED_APPS = [
...
'drf_yasg',
]
urls.py 설정
import debug_toolbar
from django.contrib import admin
from django.urls import path, include
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
from rest_framework import permissions
# 기본 셋팅 url 경로
urlpatterns = [
path('admin/', admin.site.urls),
]
# API 문서에 작성될 소개 내용
schema_view = get_schema_view(
openapi.Info(
title='API 문서 제목',
default_version='API 버전',
description=
'''
API 문서 설명
작성자 : ...
''',
terms_of_service='',
contact=openapi.Contact(name='이름', email='이메일'),
license=openapi.License(name='API 문서 이름')
),
public=True,
permission_classes=(permissions.AllowAny,),
patterns=urlpatterns,
)
# API 작성에 필요한 url 경로
urlpatterns += [
path('swagger<str:format>', 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('docs/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
]
이렇게 설정을 마치고 runserver를 실행하고 localhost:8000/redoc
로 들어가면 API 문서가 셋팅된 화면을 볼 수 있다.
'Django' 카테고리의 다른 글
django api_view 사용할때 permission custom하기 (0) | 2021.08.03 |
---|---|
django FBV(함수형 뷰)에 대해서 (0) | 2021.08.03 |
Django seed로 테스트 데이터 자동 생성 (0) | 2021.06.30 |
Django management command 사용하기 (0) | 2021.06.30 |
Django User model Custom (0) | 2021.06.29 |