Django之DRF-⽣成接⼝⽂档和swagger ⼀、功能简介
⽣成API⽂档平台
⾃动⽣成测试代码
⽀持接⼝测试
⼆、安装
coreapi(必须)
Pygments(可选)
MarkDown(可选
三、使⽤coreapi
1.最新版的DRF(>3.10)中,需要在全局配置⽂件settings.py中添加如下配置,可在DRF中查看版本
REST_FRAMEWORK ={
# 指定⽀持coreapi的Schema
'DEFAULT_SCHEMA_CLASS':'rest_api.AutoSchema',
}
2.在全局路由配置⽂件中配置:
urlpatterns =[
path('docs/', include_docs_urls(title='测试平台接⼝⽂档'))
]
3.添加注释
3-1.单⼀⽅法的视图
直接给视图添加注释
class ProjectsListView(ListAPIView):
"""
返回所有项⽬信息
"""
3-2.多个⽅法的视图
class ProjectsListCreateView(ListCreateAPIView):
"""
get:
返回所有项⽬信息
post:
新建项⽬
"""
3-3.视图集
class ProjectsViewset(viewsets.ModelViewSet):
"""
create:
创建项⽬
retrieve:
获取项⽬详情数据
update:
完整更新项⽬
partial_update:
部分更新项⽬
destroy:
删除项⽬
list:
获取项⽬列表数据
names:
获取所有项⽬名称
"""
验证结果:
四、使⽤drf-yasg
pip install drf-yasg
1.注册drf_yasg
将’drf_yasg’添加到全局配置的INSTALLED_APPS中
INSTALLED_APPS =[
'drf_yasg',
]
2.在全局路由⽂件urls.py⽂件中添加配置
ib import admin
from django.urls import path, include, re_path
from rest_framework.documentation import include_docs_urls
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
schema_view = get_schema_view(
openapi.Info(
title="API接⼝⽂档平台",# 必传
default_version='v1',# 必传
description="这是⼀个接⼝⽂档",
terms_of_service="sijiu.site",
contact=openapi.Contact(email="yueyueniao@qq"),
license=openapi.License(name="BSD License"),
),
public=True,
# permission_classes=(permissions.AllowAny,), # 权限类
)
urlpatterns =[
path('admin/', admin.site.urls),
# 添加接⼝⽂档平台的路由条⽬
django登录注册功能path('docs/', include_docs_urls(title='测试平台接⼝⽂档', description='xxx描述')),
re_path(r'^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'),
path('', include('projects.urls'))
]
3.swagger展⽰
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论