zoukankan      html  css  js  c++  java
  • 添加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

  • 相关阅读:
    手动安装mysql-5.0.45.tar.gz
    Hadoop2.5.2+HA+zookeeper3.4.6详细配置过程
    大数据分析之技术框架整理
    docker安装
    CentOS 6.8安装Docker V1.0
    处理百万级的数据
    剑指 Offer 32
    剑指 Offer 32
    剑指 Offer 32
    剑指 Offer 31. 栈的压入、弹出序列
  • 原文地址:https://www.cnblogs.com/vipzhou/p/6559991.html
Copyright © 2011-2022 走看看