• django框架自动生成api文档(一)


    关于swagger

    https://www.jianshu.com/p/349e130e40d5
    Swagger能成为最受欢迎的REST APIs文档生成工具之一,有以下几个原因:
    - Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。
    - Swagger 可以生成客户端SDK代码用于各种不同的平台上的实现。
    - Swagger 文件可以在许多不同的平台上从代码注释中自动生成。
    - Swagger 有一个强大的社区,里面有许多强悍的贡献者。

    使用版本

    Django==3.1.2

    djangorestframework==3.12.2

    drf-yasg==1.20.0

    此处我的django版本是3.+,而django-swagger不支持3.+版本,所以引用drf-yasg模块,django3.0以下的版本可以直接用django-swagger,这里具体介绍drf-yasg的基本用法

    修改settings.py

    INSTALLED_APPS = [
     ......
    'drf_yasg',  
    'rest_framework',
     ......
    ]
    

     

    添加url.py

    项目根目录的url文件最上面,添加文档描述

    from drf_yasg.views import get_schema_view
    from drf_yasg import openapi
    
    # swager文档
    schema_view = get_schema_view(
        openapi.Info(
            title="测试项目API",
            default_version='v1.0',
            description="测试工程接口文档",
            terms_of_service="https://www.baidu.com",
            contact=openapi.Contact(email="baidu@163.com"),
            license=openapi.License(name="BSD License"),
        ),
        public=True,
    )

    添加路由,用于访问swagger

    urlpatterns = [
      ... # swager url(r'^swagger(?P<format>.json|.yaml)$', schema_view.without_ui(cache_timeout=0), name='schema-json'), url(r'^swagger/$', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'), url(r'^redoc/$', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'), ]

    api文档编写view.py

    当然不可能配置了路由以后所有的文档就给你自动生成了,具体的接口配置还需要你自己到实行的view界面进行配置,这里先介绍最简单的配置方法,

    from drf_yasg.utils import swagger_auto_schema
    from rest_framework.views import APIView
    
    class QueryTesterCases(APIView):
    
        def post(self, request):
            groupId = request.POST.get('groupId')
            beginTime = request.POST.get('beginTime')
            endTime = request.POST.get('endTime')
            return JsonResponse(TapdCasesManage().queryTesterCases(beginTime=beginTime, endTime=endTime, groupId=groupId))

    此时一个最简单的接口文档便写好了,可以先打开swagger地址查看接口文档。

    启动服务进入:http://127.0.0.1:8000/swagger/

    由于我们没有对接口进行任何描述,所以点开接口以后并没有任何接口信息

  • 相关阅读:
    MYSQL之查询篇
    MYSQL之概念基础篇
    订餐系统之组合捜索
    订餐系统之微信点餐
    订餐系统之定时器Timer不定时
    订餐系统之地图订餐
    结构型模式:装饰模式
    结构型模式:组合模式
    结构型模式:桥接模式
    结构型模式:适配器模式
  • 原文地址:https://www.cnblogs.com/huxiansheng/p/14475489.html
Copyright © 2020-2023  润新知