• 添加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

  • 相关阅读:
    git和github入门指南(3.1)
    git和github入门指南(2.2)
    git和github入门指南(2.1)
    git和github入门指南(1)
    webpack入门进阶(3)
    webpack入门进阶(2)
    webpack入门进阶(1)
    vue全家桶(4.3)
    vue全家桶(4.2)
    vue全家桶(4.1)
  • 原文地址:https://www.cnblogs.com/vipzhou/p/6559991.html
Copyright © 2020-2023  润新知