• 0030 apidoc接口文档


    1 创建Django工程

    1.1 安装pip,django等相关插件

    1.2 创建app

    1.3 创建视图

    from django.shortcuts import render, HttpResponse
    from django.views.generic import View
    
    
    # Create your views here.
    class Login(View):
        @classmethod
        def get(cls, request):
            return HttpResponse('ok')
    

    1.4 配置路由

    from django.contrib import admin
    from django.urls import path
    from nucleus.views import Login
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('Login/', Login.as_view()),
    ]

    2 安装apidoc

      使用淘宝镜像安装

    2.1 命令

    npm config set registry https://registry.npm.taobao.org
    

    1.2 验证命令

    npm config get registry
    

      如果返回https://registry.npm.taobao.org,说明镜像配置成功。

    2 安装apidoc

    npm install -g apidoc -g --registry=https://registry.npm.taobao.org
    

    3 为视图编写注释代码

    from django.shortcuts import render, HttpResponse
    from django.views.generic import View
    
    
    # Create your views here.
    class Login(View):
        @classmethod
        def get(cls, request):
            """
            @api {GET} /Login/登录操作
            @apiVersion 0.0.1
            @apiName Login
            @apiGroup User
            @apiDescription 这里可以描述一下这个函数的具体操作
            这一行也可以描述的
            @apiParam {String} name 姓名
            @apiParam {String} password 密码
            @apiSuccess {Object} status 状态码
            @apiSuccess {Object} msg 简略描述
            @apiSuccessExample Response-Success:
            HTTP 1.1/ 200K
                {
                    'status': 0,
                    'msg': 'success'
                }
            @apiErrorExample Response-Fail:
                HTTP 1.1/ 404K
                {
                    'status': 1,
                    'msg': 'Fail'
                }
            """
            return HttpResponse('ok')

    4 先在项目根目录下放一个apidoc.json文件,示例如下:

    {  
      "name": "测试",  
      "version": "0.0.1",  
      "description": "API文档测试",  
      "title": "API文档测试",  
      "url" : "http://xxxxxxx",  
      "sampleUrl" : "http://xxxxxxxx",  
      "template":{  
        "forceLanguage":"zh_cn"  
      }  
    } 
    

    5 运行生产文档

      每次更新都必须重新编译才能够访问到最新的注释。

    apidoc -i nucleus/ -o static/apidoc # nucleus是APP目录

    6 配置settings.py

      在项目根目录下创建static/apidoc

    STATIC_ROOT = os.path.join(BASE_DIR, 'static')
    APIDOC_ROOT = os.path.join(STATIC_ROOT, 'apidoc')

    7 配置url

    from django.contrib import admin
    from django.urls import path, re_path
    from nucleus.views import Login
    from django.views.static import serve
    from django.conf import settings
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('Login/', Login.as_view()),
        re_path(r'^apidoc/(?P<path>.*)$', serve, {'document_root': settings.APIDOC_ROOT}),
    ]

    8 浏览器访问

    http://127.0.0.1:8000/apidoc/index.htm
    

      

  • 相关阅读:
    【Phalapi】新加Namespace (模块)
    【PHP】 curl 上传文件 流
    牛掰!我是这么把个人博客粉丝转到公众号的
    Stack Overflow 上 250W 浏览量的一个问题:你对象丢了
    为什么人到中年就危机了呢?
    Java 并发编程(三):如何保证共享变量的可见性?
    如果有人问你 JFinal 如何集成 EhCache,把这篇文章甩给他
    国庆佳节第四天,谈谈我月收入增加 4K 的故事
    为什么要将局部变量的作用域最小化?
    面试官:兄弟,说说基本类型和包装类型的区别吧
  • 原文地址:https://www.cnblogs.com/dorian/p/12634642.html
Copyright © 2020-2023  润新知