一、安装drf-yasg2 (Swagger)
pip install drf-yasg2
二、在项目中配置Swagger
# setting.py文件
SWAGGER_SETTINGS = {
'DEFAULT_INFO': 'server.urls.openapi_info' # 这个是urls.py文件中的openapi对象
}
# urls.py
# drf_yasg2 ===============================start
from rest_framework import permissions
from drf_yasg2.views import get_schema_view
from drf_yasg2 import openapi
openapi_info = openapi.Info(
title="测试API",
default_version='v1',
description="使用swaggerUI测试",
# terms_of_service="https://www.tweet.org",
contact=openapi.Contact(email="xxxxx.com"),
# license=openapi.License(name="Awesome IP"),
)
schema_view = get_schema_view(
openapi_info,
public=True,
permission_classes=(permissions.AllowAny,),
)
# drf_yasg2 ===============================start
urlpatterns = [
re_path(r'^doc(?P<format>\.json|\.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'), # swagger
path('doc/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'), # swagger
path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'), # swagger
path('admin/', admin.site.urls),
path('helloword/', views.sayhello),
]
三、命令生成json文件和yaml文件
python manage.py generate_swagger swagger.yaml/swagger.json