🍖drf 自动生成接口文档

时间:2021-04-22 09:00:49   收藏:0   阅读:27

一.自动生成接口文档

1.介绍

二.coreapi

1.使用步骤

pip3 install coreapi
REST_FRAMEWORK = {
    # 自动生成接口文档
    ‘DEFAULT_SCHEMA_CLASS‘: ‘rest_framework.schemas.coreapi.AutoSchema‘,
}
# 导入文档路由配置
from rest_framework.documentation import include_docs_urls

# 添加访问路由, 参数 title 为接口网站标题
path(‘docs/‘, include_docs_urls(title=‘接口测试‘)),

2.文档描述说明的定义位置

class BookListView(generics.ListAPIView):
    """
    返回所有图书信息
    """
class BookListCreateView(generics.ListCreateAPIView):
    """
    get:
    返回所有图书信息

    post:
    新建图书
    """
class BookView2(ModelViewSet):
    """
       list:
       返回图书列表数据,通过Ordering字段排序

       retrieve:
       返回图书详情数据

       latest:
       返回最新的图书数据

       read:
       查询单个图书接口
       """

3.在网页上进行访问文档

技术分享图片

技术分享图片

技术分享图片

4.Description 描述信息的添加

技术分享图片

class Book(models.Model):
    title = models.CharField(max_length=32)
    price = models.IntegerField(help_text=‘这个是书籍的价格!!‘)
class BookModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = models.Book
        fields = "__all__"
        extra_kwargs = {
            ‘title‘: {
                ‘help_text‘: ‘这是书籍的名字!!‘
            }
        }

技术分享图片

5.报错问题解决

技术分享图片

# 新版本 drf 默认使用的配置(没有配置就是使用这个)
REST_FRAMEWORK = {
 ‘DEFAULT_SCHEMA_CLASS‘: ‘rest_framework.schemas.openapi.AutoSchema‘,
}

# 需要将其改为
REST_FRAMEWORK = {
 ‘DEFAULT_SCHEMA_CLASS‘: ‘rest_framework.schemas.coreapi.AutoSchema‘,
}

6.小变化

二.swagger

1.使用步骤

pip install django-rest-swagger
INSTALLED_APPS = [
    ‘rest_framework_swagger‘,
]
# 添加 get_schema_view 辅助函数
from rest_framework.schemas import get_schema_view
from rest_framework_swagger.renderers import SwaggerUIRenderer,OpenAPIRenderer

# 参数 title 为接口网站标题
schema_view=get_schema_view(title=‘测试接口‘,renderer_classes=[OpenAPIRenderer,SwaggerUIRenderer])

# 添加路由
urlpatterns = [
    # coreapi
    path(‘docs/‘, include_docs_urls(title=‘接口测试‘)),
    # swagger
    path(‘docs2/‘, schema_view, name=‘docs2‘),
]

2.文档描述说明的定义位置

3.测试

技术分享图片

技术分享图片

技术分享图片

技术分享图片

4.接口功能描述可以使用 Markdow 语法

class BookView2(ModelViewSet):
    """
       ## list:
       - 返回图书列表数据,通过Ordering字段排序

       ## retrieve:
       - 返回图书详情数据

       ## latest:
       - 返回最新的图书数据

       ## read:
       - 查询单个图书接口

       #### 请求参数
        | 字段名| 含义  | 类型   |
        |:------:|:------:|:------:|
        | title | 书籍名称    |  string |
        | price | 价格    |  int |
       """
    ...

技术分享图片

原文:https://www.cnblogs.com/songhaixing/p/14687079.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!