作为后台根据需求文档开发完成接口后,交付给前台(angular vue等)做开发,不可能让前台每个接口调用都去查看你的后台代码一点点查找。前台开发若不懂你的代码呢?让他一个接口一个接口去问你怎么调用,需要传递那些参数?调用方法?这样的话,微信公众号之类的二次开发去找谁要接口调用,这显然是不切合实际的。所以有一个后台接口调用的展示文档,对前后端分离的开发来说,非常实用。之前在.net 开发中使用过swagger作为后台接口API文档的生成方式。感觉很简单,一步到位。下面介绍一下在nodejs 中采用apidoc来生成Restful API 的接口文档。

  1.首先APIDOC的官网,关于配置等内容可以参看说明

  http://apidocjs.com

  2.具体操作说明:

  1)安装node环境(这个不多说),安装apidoc

npm install apidoc -g

  2)打开你的项目,在根目录创建一个配置文件apidoc.json,里边的内容可参考我的配置:

{
"name": "cms-server", // 你的项目名称,可以随便写
"version": "1.0.0", // 版本,书写没要求
"description": "cms-server项目API文档", // API文档的描述
"title": "cms-server API", // API文档的标题
"url" : "http://localhost:3001/v1", // 项目接口的地址,如我的user接口:localhost:3001/v1/user
"sampleUrl": "http://localhost:3001/v1",
"forceLanguage":"zh-cn",
"template": {
"withCompare": true,
"withGenerator": true
} }

  3)新建一个文件夹,用于存放你的APIDOC生成的文件,然后在项目的启动文件,如app.js添加下边一句话

app.use('/apidoc存放的位置',express.static('apidoc存放的位置'));
// 配置实例:若我放在public/apidoc,则对应配置为
app.use('/public',express.static('public'));
// 那么我访问的地址应该是:
// localhost:3001/public/apidoc,他就会自动运行apidoc下生成的apidoc/index.html

  4)在对应的接口上添加注释,可参考下边的配置 

/**
* 获得某个用户
* @api {GET} /api/users/:id 获得某个用户
* @apiDescription 根据ID获得某个用户
* @apiName getUser
* @apiParam (path参数) {Number} id
* @apiSampleRequest /api/users/5a45cefd080d7c39a036ca55
* @apiGroup User
* @apiVersion 1.0.0
*/

  5) 生成API文档

//apidoc -i '扫描接口的文件夹' -o '生成apidoc的位置'
//如:
apidoc -i app/api -o public/apidoc

  6)启动项目,访问http:localhost:3001/public/apidoc,就可以看到生成的api文档。

参考生成的api文档:

  

Node与apidoc的邂逅——NodeJS Restful 的API文档生成的更多相关文章

  1. [aspnetcore.apidoc]一款很不错的api文档生成工具

    AspNetCore.ApiDoc 简单徐速一下为什么选用了aspnetcore.apidoc 而没有选用swagger 最初我们也有在试用swagger,但总是有些感觉,感觉有点不满意,就但从api ...

  2. 【转载】Java Restful API 文档生成工具 smart-doc

    谁说生成api文档就必须要定义注解? 谁说生成接口请求和返回示例必须要在线? 用代码去探路,不断尝试更多文档交付的可能性. 如果代码有生命,为什么不换种方式和它对话! 一.背景 没有背景.就自己做自己 ...

  3. 使用apidoc 生成Restful web Api文档

    在项目开发过程中,总会牵扯到接口文档的设计与编写,之前使用的都是office工具,写一个文档,总也是不够漂亮和直观.好在git上的开源大神提供了生成文档的工具,so来介绍一下! 该工具是Nodejs的 ...

  4. 使用apidoc 生成Restful web Api文档——新手问题与解决方法

    使用apidoc工具来给项目做接口文档,不仅有合理的源码注释,还可以生成对应的文档.是给源码写备注的一个极佳实践. 工具名称:apiDoc Git地址:https://github.com/apido ...

  5. SpringBoot入门教程(二十)Swagger2-自动生成RESTful规范API文档

    Swagger2 方式,一定会让你有不一样的开发体验:功能丰富 :支持多种注解,自动生成接口文档界面,支持在界面测试API接口功能:及时更新 :开发过程中花一点写注释的时间,就可以及时的更新API文档 ...

  6. apidoc 生成Restful web Api文档

    在服务器项目开发过程中,总会牵扯到接口文档的设计与编写,之前使用的都是office写一个文档,不够直观.下面介绍一种工具生成Apidoc.,该工具是Nodejs的模块,请务必在使用前安装好nodejs ...

  7. node.js api文档生成

    ApiDoc官网地址为:http://apidocjs.com/在Java中有Swagger及其升级版的Swagger2+Springfox自动生成接口管理文档.而在Node.js中则可以利用ApiD ...

  8. vs开发nodejs api文档生成神器-apidoc

    直接生成文档的神器 apidoc 1 win+R 输入 cmd 回车 然后进入 nodejs 项目目录 例如 D:\NodeTest\newApp1 2  用npm安装 apidoc 直接输入 npm ...

  9. nodeJs 模块cookie-session api文档中文翻译,偶自己翻译的

    原文英文文档链接点击 说明 简单的 基于cookie的 session中间件 安装 它是一个可以用npm注册的node模块,可以通过npm install命令安装 npm install cookie ...

随机推荐

  1. try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会 不会被执行,什么时候被执行,在 return 前还是后?

    这是一道面试题,首先finally{}里面的code肯定是会执行的,至于在return前还是后, 看答案说的是在return后执行,我觉得不对,百度了一下,有说return前的,有说return后的, ...

  2. MySQL之表的数据类型

    一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 详细参考: http://www.runoob.com/mysql/mysql-data ...

  3. HDU - 2181 dfs [kuangbin带你飞]专题二

    保存每个节点的下一个节点一直往下面走就行了,不能重复经过某个点,当经过的点达到20个而且当前节点的下一个节点是起点就打印答案. AC代码 #include<cstdio> #include ...

  4. hexo持续更新记录

    port:50187

  5. mybatis 3.x源码深度解析与最佳实践(最完整原创)

    mybatis 3.x源码深度解析与最佳实践 1 环境准备 1.1 mybatis介绍以及框架源码的学习目标 1.2 本系列源码解析的方式 1.3 环境搭建 1.4 从Hello World开始 2 ...

  6. "No Python interpreter configured for the project " in Pycharm for python selenium

    自动化测试问题: pyCharm提示python Interpreter没有设置,点击configure Python Interpreter,进入Settings 在 Project Interpr ...

  7. caffe︱ImageData层、DummyData层作为原始数据导入的应用

    Part1:caffe的ImageData层 ImageData是一个图像输入层,该层的好处是,直接输入原始图像信息就可以导入分析. 在案例中利用ImageData层进行数据转化,得到了一批数据. 但 ...

  8. R语言实现︱局部敏感哈希算法(LSH)解决文本机械相似性的问题(二,textreuse介绍)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 上一篇(R语言实现︱局部敏感哈希算法(LSH) ...

  9. strcmp函数实现

    /* 功能:比较字符串s1和s2大小. 一般形式:int strcmp(字符串1,字符串2) 说明: 当s1<s2时,返回-1 当s1=s2时,返回 0 当s1>s2时,返回 1 即两个字 ...

  10. freemarker自定义标签报错(三)

    freemarker自定义标签 1.错误描述 freemarker.core.ParseException: Encountered " " at line 14, column ...