swagger,一款api测试工具,详细介绍参考官网:http://swagger.io/ ,这里主要记录下怎么将swagger api应用到我们的node服务中:

1、任意新建node api项目,使用npm init即可

2、安装依赖:

cnpm i express body-parser --save

其中express作为api框架,当然你也可以使用其它的,比如thinkjs、koa、koahub、阿里的egg等等(框架只是一种工具),body-parser用来解析json格式的请求。

3、新建index.js作为服务类,简单代码如下:

var express = require("express");
var app = express();
var routes = require('./routes/index');
var bodyParser = require('body-parser'); app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded app.use("/static", express.static("public")); //配置swagger文档 routes(app); app.listen(3000, function() {
console.log("server listening at port 3000");
});

这里的话,我们设置静态目录为public,路由文件为routes文件夹下的index.js文件,那么响应地创建两个文件夹,分别为:public(用来存放swagger文件)、routes(存放各种路由请求)。

4、下载swagger必须文件并解压到public下

下载地址为:https://github.com/swagger-api/swagger-ui 这里取dist文件夹下的所有文件直接放入public里面,在打开该网址:http://editor.swagger.io/#!/ 点击如下下载json配置文件(命名随意):

这样一来,public目录下面的文件结构类似如下:

5、修改public目录下的index.html文件的url为刚才的json文件名称

6、启动node服务,打开public下的index.html,在浏览器端查看效果

最后:

1、想要api文档显示如何内容可直接编辑下载来的json文件即可,这里推荐一个网站:http://www.sosoapi.com/ 可以直接在线编辑swagger api文档,支持在线预览、导出等功能,比较方便

2、使用swagger在线测试的时候一定要主要跨域问题,否则可能导致实际已经发送了请求但是浏览器查看时却显示“no content”,这时浏览器的concole一定打印了跨域失败提示,解决有很多种,比如:服务端设置跨域请求头信息、浏览器允许跨域等

3、demo地址戳这里:https://github.com/caiya/node_app

最新文章

  1. 03.SQLServer性能优化之---存储优化系列
  2. html学习第二天—— 第九、十章——CSS的继承、层叠和特殊性+CSS格式化排版
  3. 数组(Array)的使用方法
  4. PowerDesiger 15逆向生成工程E-R图及导出word表格
  5. UML类图关系-转
  6. Open CASCADE 基础类(Foundation Classes)
  7. 关于各种数据库 Insert时同时取到Id的操作
  8. ABP框架个人开发实战(1)_环境搭建
  9. JavaScrip 排序算法
  10. 关于将dede织梦data目录迁移出web目录
  11. php+redis 学习 一 连接
  12. 【AtCoder】ARC081
  13. Linux系统运维故障排查
  14. 【转】【Mac】invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library
  15. 006-springboot2.0.4 配置log4j2,以及打印mybatis的sql
  16. C++运算符重载 模板友元 new delete ++ = +=
  17. Java 中的异常处理机制
  18. java 标识符与变量
  19. Struts2+hibernate 结合,实现登陆校验
  20. Openstack(Kilo)安装系列之glance(六)

热门文章

  1. MySQL的my-innodb-heavy-4G.ini配置文件的翻译
  2. IOS控件布局之Masonry布局框架
  3. CentOS 6.4 安装setuptools 和 pip
  4. js定时函数
  5. C++测试利器--google test开源测试框架
  6. bootstrap select2 参数详解
  7. 支持缩放的fresco图片控件 —— fresco sample: ZoomableDraweeView
  8. Tcl/tk缩放Truetype字体时的精度问题
  9. Linux下软件设成系统服务运行
  10. 规范 : disable account