DRF框架生成接口文档
Posted xiaogongjin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DRF框架生成接口文档相关的知识,希望对你有一定的参考价值。
一、简介
- 生成API文档平台
- 自动生成测试代码
- 支持接口测试
二、安装
- coreapi(必须)
- Pygments(可选)
- MarkDown(可选)
pip install -i https://pypi.douban.com/simple coreapi pip install -i https://pypi.douban.com/simple Pygments pip install -i https://pypi.douban.com/simple MarkDown
三、使用coreapi
1.最新版的DRF(>3.10)中,需要在全局配置文件settings.py中添加如下配置
REST_FRAMEWORK = { # 指定用于支持coreapi的Schema ‘DEFAULT_SCHEMA_CLASS‘: ‘rest_framework.schemas.coreapi.AutoSchema‘, }
2.在全局路由配置文件中添加以下代码
from rest_framework.documentation import include_docs_urls from django.urls import path, include urlpatterns = [ path(‘docs/‘, include_docs_urls(title=‘测试平台接口文档‘)), ]
3.添加注释
1).单一方法的视图
直接给视图添加注释即可
class ProjectsListView(ListAPIView): """ 返回所有项目信息 """
2).多个方法的视图
class ProjectsListCreateView(ListCreateAPIView): """ get: 返回所有项目信息 post: 新建项目 """
3).视图集
class ProjectsViewset(viewsets.ModelViewSet): """ create: 创建项目 retrieve: 获取项目详情数据 update: 完整更新项目 partial_update: 部分更新项目 destroy: 删除项目 list: 获取项目列表数据 names: 获取所有项目名称 interfaces: 获取指定项目的所有接口数据 """
验证结果:
四、使用drf-yasg
1.安装
pip install drf-yasg
2.注册drf_yasg
将‘drf_yasg‘添加到全局配置的INSTALLED_APPS中
INSTALLED_APPS = [ ... ‘drf_yasg‘, ... ]
3.在全局路由文件urls.py文件中添加配置
# from rest_framework import permissions from drf_yasg.views import get_schema_view from drf_yasg import openapi from django.urls import path, re_path schema_view = get_schema_view( openapi.Info( title="API接口文档平台", # 必传 default_version=‘v1‘, # 必传 description="这是一个美轮美奂的接口文档", terms_of_service="http://api.xiaogongjin.site", contact=openapi.Contact(email="xiaogongjin@qq.com"), license=openapi.License(name="BSD License"), ), public=True, # permission_classes=(permissions.AllowAny,), # 权限类 ) urlpatterns = [ 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=‘schemaredoc‘), ]
4.swagger展示
5.redoc展示
以上是关于DRF框架生成接口文档的主要内容,如果未能解决你的问题,请参考以下文章