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

相关推荐