0030 apidoc接口文档

1 创建Django工程

 

1.1 安装pip,django等相关插件

1.2 创建app

1.3 创建视图

 

from django.shortcuts import render, HttpResponsefrom 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 adminfrom django.urls import pathfrom nucleus.views import Loginurlpatterns = [ 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, HttpResponsefrom 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 adminfrom django.urls import path, re_pathfrom nucleus.views import Loginfrom django.views.static import servefrom django.conf import settingsurlpatterns = [ 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

 

 

  

 

相关文章