您当前的位置:首页 >> 绘画
方便高效的Api管理测试工具-eolinker也 “不过如此”
发布时间:2019-07-03
 



在上一篇如此方便高效的Api管理,测试工具,你竟然还不知道?中,Byte向各位读者朋友简单介绍了强大的Api管理测试工具-eolinker,也大致对比了一下rap和eolinker之间的相同点和eolinker比较于rap而言的优势。既然都是工具那么Byte认为其实没必要深究它们的源码实现,我们只要知道工具的特性,以及怎么去使用它们来使我们的工作变得高效以及便捷。这样工具的核心价值就实现了最大化。


为了对比,Byte是这样看待eolinker的,eolinker是postman+rap或者swagger+rap等的一个组合而已,其实没有过多的高深的地方。以一个平常心去尝试看待它,了解它,最终实现掌握它。既言于此,Byte想插一句题外的话:对于新事物的学习,Byte认为与已知的相似事物进行功能特性对比,基于此再去深入是一个比较好的学习手段,这样更有学习针对性以及目的性会更强,不至于手足无措。嗯,没错,这也是Byte的常用学习手段。


好了,闲话不唠进入正题了。既然eolinker功能特性丰富并且强大,那就让我们来感受一下。开始eolinker开源版本windows平台下的安装部署以及简单使用。(至于linux平台,读者之后可自己练习部署)


eolinker的下载安装


  • eolinker的下载


eolinker开源版本在github 码云 coding都有托管,可在这些平台下载开源最新的版本




github作为最大的程序员同性交流社区,当然首选github去下载源码。在github上我们发现有php版和java版的并且都更新到了4.0版本。先演示php的部署,打开git bash 界面(假设已经安装了git,并且配置完成,如未安装git,需先去安装git环境,此处不再讲述)执行git clone 地址(源码地址url)将源码clone到本地。重复上一步操作将java版本eolinker也clone下来。


php版本eolinker运行环境需要php+mysql+nginx或apache环境。并且php官方推荐7+,mysql5.5+,代理服务器推荐nginx(反向代理服务器,负载均衡服务器的典范)。为节约篇幅,mysql数据库的安装,此处不再赘述,读者可自行安装。安装有问题,谷歌度娘都能给你包办解决。


  • nginx的下载配置


1.进入nginx下载官网 http://nginx.org/en/download.html   选择1.15.8 windows版本进行下载



2.进入nginx的安装目录,用文本编辑器打开conf/nginx.conf文件,取消下图区域注释,打开nginx对php的支持



nginx对于php的支持是通过fastcgi来进行实现的。fastcgi是cgi的一种,弥补了传统cgi程序工作模式上的效率问题。nginx fastcgi是为了支持php等动态型脚本语言而生的,通过cgi接口将动态型的语言转给后台的解释器程序,然后解释器将动态语言解析结果返回给nginx,最后由nginx回送给调用者,完成动态语言的处理。这里对于php的处理是以php结尾的文件是传送给绑定在127.0.0.1环回地址9000端口上php cgi解释器程序进行解释执行的。其实nginx这里充当的是一个路由转发回送的功能,这也是利用cgi实现动静分离的例子。


啥是动静分离呢,粗略解释下吧。因为类似于html,js,png,jpg等静态资源存放在nginx目录下,nginx可直接返回。而像php,jsp等动态页面程序则需要后台程序的解释渲染,之后回送nginx返回,所以静态资源由nginx处理,动态资源由后台服务器程序处理,从而实现动静分离,提高了网站的及时响应率。


进入nginx的安装目录,执行nginx -v可查看nginx的版本号代表nginx已安装成功!执行start nginx.exe开启nginx进程,在浏览器输入localhost看到如下页面,表示nginx启动成功并且正常工作。



  • php的下载配置

进入php windows官网下载地址

http://nginx.org/en/download.html 下载windows 1.15.8版本到本地



进入php安装目录,找到php.ini-development文件,将文件名修改为php.ini,并且打开文件,搜索extension_dir="ext",找到之后先去掉前面的;然后再修改为extension_dir="./ext"。找到extension=mysqli 去掉前面的;让php对mysql进行支持。由于eolinker php版需要php包含curl以及mbstring模块,所以找到 extension=curl,extension=mbstring并且去掉它们前面的;。至此eolinker所需要的配置就结束了。


在php安装目录,执行php -v指令,可看到输出php的安装的版本号,说明安装成功!



接着执行php-cgi -b 127.0.0.1:9000开启php-cgi解释器程序进程,绑定在本地环回地址的9000端口上。打开任务管理器看见cgi进程已经开启。



至此,php相关配置完成。


  • eolinker配置

将第一步下载的eolinker php开源版程序代码zip压缩包进行解压缩。可看见里面有个release文件夹,里面已经编译并且打包好的eolinker php代码,进行解压缩并且重命名为eolinker文件夹。


将eolinker文件夹放入nginx安装目录下的html文件夹下(此处有些许不够规范,比如文件夹的存放等,Byte为了部署演示就忽略了这些细节,读者可自己进行一定的规范化)。


我们在上面介绍了nginx和php-cgi的启动,为了方便。我们应该把涉及到的这一套东西写成脚本进行统一控制,而不是挨个进行启动。在linux运维中,我们管理一般是通过shell脚本,但是这是在windows平台下,我们可以编写bat批处理文件。批处理文件应该包含两种,启动以及关闭批处理文件。编写比较简单,基本就只涉及到nginx,php-cgi的启动关闭命令而已。启动关闭脚本如下:



启动脚本


关闭脚本


eolinker还依赖于mysql,可以把mysql的启动关闭命令也写进入脚本,但是Byte本地mysql已经注册为windows服务了自启动,所以就没写入。读者朋友可以mysql启动关闭命令也写入到bat启动关闭脚本中。


执行启动脚本进行nginx,php-cgi进程的启动,之后再浏览器地址栏输入localhost/eolinker/index.html进入eolinker启动首页。第一次安装会进入安装界面,让你配置数据库的一些属性信息:数据库用户名密码,连接url等等信息。在这里需要注意的是,你在mysql中为eolinker创建的用户以及数据库,这个用户要对数据库下的表有足够的读写权限,不然安装是会不通过的。还有就是会检查安装项目路径的权限,以及php session的配置,php curl mbstring模块是否已经开启支持等,读者应该注意。


其实安装页面并不是必须的,在eolinker解压缩文件里有一个sql,里面是创建eolinker所有依赖表的sql,你可以将其拿到对应数据库下进行执行,将所有的表进行创建。因为安装过程其实就是读取目录下的sql进行创建表的过程。Byte由于没看教程,就是这么干的,哈哈哈哈。。。。


安装之后,我们进入到主页面,可以看到会有一个示例项目。



这是eolinker为我们默认创建的演示项目。我们可以看到接口总数以及为项目定义的状态码等等,以及这个项目目前的成员。在eolinker开源版都是以项目作为一个权限控制个体的,它不像rap那样有空间的概念,以及可以在不用拉入项目成员的前提下进行项目api接口的查看。(专业版不详)所以在进行开发协作时,当要将我们api定义给别人进行查看时,就需要将他拉入项目组成员中。这点Byte觉的rap更好。


eolinker还有一个更方便的就是项目的导入,能导入项目下所有的Api定义信息,支持dhc,swagger,rap等项目的导入。接下来我们做一个rap项目的导入。首先我们需要在rap上将项目导出为json格式文档,并且存储在本地某个文件下,命名为xxx.json






如图,我将rap上cardbin项目导出为test.json文件,接下来这cardbin项目的json文件导入eolinker中。



如上图所示,已经将cardbin项目的所有接口导入到了eolinker中,并且看到cardbin项目有8个接口。eolinker还能进行api的即时测试,但是依赖于浏览器测试插件,需进行安装。不能翻墙的就去github上搜索,能翻墙的直接google market搜索扩展程序安装即可。


接口 测试示例





eolinker——java版


相比于eolinker php版,java版在安装部署方面算是比较简单了,所以我就粗略简短的介绍一下。


eolinker java版本和php版都是目前维护到4.0版本,但是eolinker java版本clone下来会有些许bug需要你改正一下。比如rap项目导入,不修改的话,对于rap文档的导入,你会发现所有api的返回参数都没有,这是由于对于rap json的解析问题,你需要修改一下其中的细节即可。


由于是springboot项目,你可以直接打包为jar,使用java -jar进行启动,只需要jdk环境,tomcat都可以不必。所有是比较方便的。安装部署之后,打开你会发现和php并无什么区别,包括界面UI以及功能。


php版和java版的eolinker, Byte就介绍到这里了。如有读者之后会搭建使用,希望能惊叹于它的方便高效。如不会去搭建使用,也希望帮助读者拓展了一个小小的知识面。


总之能对读者朋友在技术前行道路上有所帮助,Byte便不负初心。