首页 > 其他分享 >drf-接口文档

drf-接口文档

时间:2022-10-11 22:01:41浏览次数:74  
标签:docs 视图 framework 文档 接口 class drf

接口文档

接口编写已经写完了,需要编写接口文档,给前端的人使用

-请求地址
-请求方式
-支持的编码格式
-请求参数(get,post参数)
-返回格式示例

在公司的写法

1)直接使用word或者md写
2)使用接口文档平台,在接口文档平台录入(Yapi(百度开源的自己搭建),第三方平台(收费),自己开发接口文档平台)

-https://www.showdoc.com.cn/item/index
- 不想花钱,没有能力开发,就使用开源的YAPI,   https://zhuanlan.zhihu.com/p/366025001

3)项目自动生成:swagger,coreapi

-1 下载:pip3 install coreapi
-2 路由中配置:
        from rest_framework.documentation import include_docs_urls
        urlpatterns = [
            path('docs/', include_docs_urls(title='站点页面标题'))
        ]
-3 在视图类中加注释
-4 在配置文件中配置
        REST_FRAMEWORK = {
         'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.coreapi.AutoSchema',
        }

自动生成接口文档

REST framework可以自动帮助我们生成接口文档。
接口文档以网页的方式呈现。
自动接口文档能生成的是继承自APIView及其子类的视图

安装依赖

REST framewrok生成接口文档需要coreapi库的支持。

pip install coreapi

设置接口文档

在总路由中添加接口文档路径。
文档路由对应的视图配置为rest_framework.documentation.include_docs_urls,
参数title为接口文档网站的标题。

from rest_framework.documentation import include_docs_urls

urlpatterns = [
    ...
    path('docs/', include_docs_urls(title='站点页面标题'))
]

文档描述说明的定义位置

单一方法的视图,可以直接使用类视图的文档字符串

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

包含多个方法的视图,在类视图的文档字符串中,分开方法定义

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

    post:
    新建图书.
    """

对于视图集ViewSet,仍在类视图的文档字符串中封开定义,但是应使用action名称区分

class BookInfoViewSet(mixins.ListModelMixin, mixins.RetrieveModelMixin, GenericViewSet):
    """
    list:
    返回图书列表数据

    retrieve:
    返回图书详情数据

    latest:
    返回最新的图书数据

    read:
    修改图书的阅读量
    """

访问接口文档网页

浏览器访问 127.0.0.1:8000/docs/,即可看到自动生成的接口文档。
image

注意要点

1) 视图集ViewSet中的retrieve名称,在接口文档网站中叫做read
2)参数的Description需要在模型类或序列化器类的字段中以help_text选项定义

class Student(models.Model):
    ...
    age = models.IntegerField(default=0, verbose_name='年龄', help_text='年龄')
    ...

class StudentSerializer(serializers.ModelSerializer):
    class Meta:
        model = Student
        fields = "__all__"
        extra_kwargs = {
            'age': {
                'required': True,
                'help_text': '年龄'
            }
        }

https://liuqingzheng.top/python/Django-rest-framework框架/8-drf-自动生成接口文档/

标签:docs,视图,framework,文档,接口,class,drf
From: https://www.cnblogs.com/zxr1002/p/16782752.html

相关文章

  • drf-09
    django配置文件1.根路径:BASE_DIR=Path(__file__).resolve().parent.parent2.django加密使用-秘钥SECRET_KEY='django-insecure-ov_#*#-o&svxjrtxe1op*%3wfobg)+)&k......
  • drf9-内置认证类 权限类 频率类 过滤类其他使用 全局异常抛出 文档接口
    -内置认证类-权限类-频率类-过滤类其他使用-全局异常抛出-文档接口内置认证类,权限类,频率类#内置的认证类 -BasicAuthentication -RemoteUserAuthentication -Se......
  • 【2022-10-11】DRF从入门到入土(九)
    drf之内置认证类BasicAuthenticationRemoteUserAuthenticationSessionAuthentication:session认证 如果前端带着cookie过来,经过session的中间件,如果登录了,在request.use......
  • 【2022.10.11】drf(9)
    今日内容内置认证类内置权限类内置频率类补充Django的配置文件以及每一个配置文件的作用过滤类的其他使用全局异常处理接口文档1......
  • 基于微信小程序的校园二手商城的设计与实现-计算机毕业设计源码+LW文档
     毕业论文开题报告1.本课题的研究意义互联网飞速发展的现在,信息技术和网络技术的不断向上进步提高,互联网广泛应用于人们的生活中。随着经济发展的迅速大学生在大学......
  • 文档操作
    一、插入文档文档的数据结构和JSON基本一样。所有存储在集合中的数据都是 BSON格式。BSON是一种类似JSON的二进制形式的存储格式,是BinaryJSON的简称。1、insertdb......
  • WeLink协作文档,职场的贴心助手
    WeLink协作文档,职场的贴心助手​Welink协作文档是华为云旗下研发的一款数字化办公应用,能够让办公更高效的在线文档协同工具。在Welink协作文档当中,支持文字、表格和演示等三......
  • WeLink协作文档,高效协同办公的重要选择​
    WeLink协作文档,高效协同办公的重要选择​一直以来,打工人都在追求更高的办公效率,以期达到事半功倍的效果。尤其是新冠疫情期间,不少人的出行和工作都受到了影响,很多上班族被迫......
  • django配置文件介绍,drf全局异常处理,drf接口文档
    内置认证类、权限类、频率类django配置文件介绍过滤类的其他使用全局异常处理接口文档内置认证类、权限类、频率类#内置的认证类 BasicAuthenticatio......
  • 内置认证类,权限类,频率类及 过滤类 全局异常处理 接口文档
    1内置认证类,权限类,频率类内置认证类-BasicAuthentication-RemoteUserAuthentication-SessionAuthentication:session认证,建议自己写-如果前端带......