添加swagger api文档到node服务

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏从零学习云计算

Centos7.2学习记录(2)——yum只下载不安装以及多rpm的安装

最近在研究kubernetes的离线安装,所以尝试了下yum的只下载不安装,获取rpm文件 这里以docker为例。 只下载不安装docker的rpm文件 # ...

2300
来自专栏电光石火

centos下完全卸载mysql

yum方式安装的mysql 1、yum remove mysql mysql-server mysql-libs compat-mysql51 2...

1945
来自专栏Jackie技术随笔

svn迁移git的一次尝试

23012
来自专栏左瞅瞅,右瞅瞅

ELK的上线之路(*):—— Logstash不断实践中...

1443
来自专栏Ken的杂谈

【CentOS7快速上手】3、FTP-Server部署

681
来自专栏猛牛哥的博客

firewall端口转发的设置

2623
来自专栏用户画像

dubbo管理控制台

1、在github下载dubbo源码 https://github.com/alibaba/dubbo

701
来自专栏技术博文

Linux下用于查看系统当前登录用户信息的4种方法

作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动。有些时候,你甚至需要知道他(她)们正在做什么。本文为我们总结了4种查看系统用户信息(...

4008
来自专栏about云

如何查看spark与hadoop、kafka、Scala、flume、hive等兼容版本【适用于任何版本】

问题导读 1.通过什么途径,可以查看与spark兼容的组件版本? 2.如何获取pom文件? 3.pom文件中包含了哪些信息? 4.spark编译通过什么参数可...

3385
来自专栏www.96php.cn

【thinkphp】跨域共享cookies session

本文链接:【thinkphp】跨域共享cookies session - http://www.96php.cn/post-63.html

653

扫码关注云+社区