一直很好奇专门写接口同事的工作,于是趁着手边工作中的闲暇时间,特地看看神奇的接口文档怎么摆弄。

总览:

这是基于thinkjs(3.0),使用swagger editor编写,实现功能性测试的接口文档。

先了解一些必要的知识吧:

1.)什么是Swagger?

Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件;是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。(https://swagger.io/

Swagger的目标是为REST APIs 定义一个标准的,与语言无关的接口,使人和计算机在看不到源码或者看不到文档或者不能通过网络流量检测的情况下能发现和理解各种服务的功能。当服务通过Swagger定义,消费者就能与远程的服务互动通过少量的实现逻辑。类似于低级编程接口,Swagger去掉了调用服务时的很多猜测。

2.)Swagger Editor

可以直接使用在线编辑器https://editor.swagger.io/(左边编辑,右边实时效果),方便我们直接写文档,并将其转成所需的json或者yaml格式。

3.)为什么使用?

①支持API自动生成同步的在线文档;②这些文档可用于项目内部API审核
;③方便测试人员了解API。

开始吧:

1.)建thinkjs项目:

特别说明:自从thinkjs升级到3.0后,自己就没有好好看看其中有什么变化,直至现在重新看的时候才发现3.0较2.0变化还挺大的,不仅是文件目录变化,框架底层也发生了变化,关于这些还是觉得看官网会更清晰些:https://thinkjs.org/

2.)关于swagger的一些配置

https://github.com/swagger-api/swagger-ui中将dist文件夹copy出来,在新建项目中根目录下新建一个static文件夹,并将dist文件夹放进去

        注意:其中test.yaml文件是我在swagger editor中写好的接口文档转成的yaml格式的文件,然后放在dist目录下的;因此后来的你们也要进行类似的操作,在swagger editor中写好文档,转成所需要的格式再放进dist中,然后将dist/index.html中的url改成你等文件中test.yaml文件所在路径,即

然后浏览器访问:(http://ip:8360/dist/test.yaml)便可以看见你的接口文档;(http://127.0.0.1:8360/dist/index.html)就可以看见带有swagger ui 的效果啦:


疑难杂症:

其实回头想想,做出这样的效果并不算难,但就是因为自己了解的太少。而在进行跨域访问的时候,还需要安装另外一个组件:https://github.com/koajs/cors,在src/config/middleware.js中:

const cors = require('@koa/cors');
...
{
handle: cors,
options: {}
},
...

        But:有个问题:把thinkjs项目用vscode打开后,编译就出错,但是不影响运行(自己有点强迫症,每次看见这样就很想解决掉,无奈又没找出问题,也许恰巧你能解决,3ky~)

结尾:

兴趣是最好的老师。因为喜欢,所以写起来也是满满的喜悦。最后感谢一直不吝赐教的晁州大神(http://www.cnblogs.com/vipzhou/)——昔日好同事,今日好朋友。

2018,新一年的开始——叶叶Yeah开启疯狂奔跑模式吧!

thinkjs+swagger Editor的更多相关文章

  1. swagger editor使用

    swagger editor使用 swagger是一套开源的API设计工具,包括Swagger UI,Swagger Editor等. Swagger Editor 其中Swagger Editor是 ...

  2. Error generating Swagger server (Python Flask) from Swagger editor

    1down votefavorite   http://stackoverflow.com/questions/36416679/error-generating-swagger-server-pyt ...

  3. window安装swagger editor

    1.下载 nodejs,并安装 2. 下载swagger editor并安装 2.1 git clone https://github.com/swagger-api/swagger-editor.g ...

  4. Swagger UI及 Swagger editor教程 API文档搭配 Node使用

    swagger ui 是一个在线文档生成和测试的利器,目前发现最好用的.为啥好用呢?打开 demo,支持API自动生成同步的在线文档些文档可用于项目内部API审核方便测试人员了解 API这些文档可作为 ...

  5. Swagger Editor Linux安装(全新环境)

    查看内核版本 cat /proc/version cat /etc/redhat-release 查看系统是32位还是64位方法总结getconf LONG_BIT 安装相关工具 yum instal ...

  6. Web开发笔记 #07# Swagger Editor

    Swagger Editor是一款可以用yaml格式进行RESTful API设计.可视化.测试的工具,并且能够实时看到自动生成的文档.效果大概是这样的↓ 根据官方网站介绍,如果是团队的话,建议用在线 ...

  7. Swagger Editor 本地搭建

    看了很多文章,怎么本地安装都比较乱,一番折腾,最后终于成功本地搭建Swagger Editor,记录如下(Windows 7): 进入命令行: (1)cd E:\Learning\AWS (2)git ...

  8. Swagger Editor本地安装

    一:安装Node JS 二:下载源码swagger-editor源码,解压 下载地址:https://github.com/swagger-api/swagger-editor 三:在解压目录下运行进 ...

  9. 查看API工具 https://editor.swagger.io/

    The base URL for the API is:    https://api.cloud.nalantis.com/api/ The OpenAPI documentation is ava ...

随机推荐

  1. USB学习笔记连载(十一):CY7C68013A的启动方式-EEPROM

       上述的应用笔记中有介绍FX2LP的启动选项,主要包括I2C启动和USB启动. 说白了I2C启动需要使用外部的EEPROM,USB启动,只是使用上位机控制软件将配置程序FX2LP中,不用EEPRO ...

  2. HashMap HashTable ConcurrentHashMap

    1. Hashtable 和 HashMap (1)区别,这两个类主要有以下几方面的不同:Hashtable和HashMap都实现了Map接口,但是Hashtable的实现是基于Dictionary抽 ...

  3. SAP DBDI 网银接口实现案例

    在财务共享中心SSC实施中,为了提高AP和对账的效率,不可避免的需要实现和网上银行的集成.笔者为各位分析该案例如下: 为什么要上网银? 2).和SAP的无缝集成 3).直接在SAP中和银联对接 4). ...

  4. [转]Android WiFi 掉线原因分析

    看到一个比较详细的分析wifi断开的文章.收藏一下. 原文: http://blog.csdn.net/chi_wy/article/details/50963279 原因1 .从Log分析来看,这个 ...

  5. SpringMVC系列(二): SpringMVC各个注解的使用

    1.@RequestMapping 1.@RequestMapping除了能修饰方法,还能修饰类(1)修饰类:提供初步的请求映射信息,相对于web请求的根目录(2)修饰方法:提供进一步的细分映射信息相 ...

  6. googletest进行单元测试(使用cmake编译)

    一.前提: 1.假定你的系统为centos6系列 2.假定你已经安装了基本的编译环境,gcc,g++4.4.7 3.假定你已经设置了环境变量:KDS_MOBILE_STOCK_HOME 4.假定你已经 ...

  7. Winform控件学习笔记【第六天】——TreeView

    TreeView控件用来显示信息的分级视图,如同Windows里的资源管理器的目录.TreeView控件中的各项信息都有一个与之相关的Node对象.TreeView显示Node对象的分层目录结构,每个 ...

  8. Cisco 交换机修改密码

    实验环境: 公司有一台思科交换机忘记登录密码,无法进入到特权模式下. 实现功能: 修改特权模式下的登录密码 1.  桌面 ---- 开始  ---- 所有程序 ---- 附件 ---- 超级终端 -- ...

  9. Xcode :Missing file warnings

    http://stackoverflow.com/a/5379013

  10. 安卓开发笔记——关于Handler的一些总结(上)

    接上篇文章<安卓开发笔记——关于AsyncTask的使用>,今天来讲下在安卓开发里"重中之重"的另一个异步操作类Handler. 今天打算先讲下关于Handler的一些 ...