Eolink征文活动---Eolink API文档服务的天才产品

news2024/11/25 16:51:22

Eolink

实际上我并不是因为这次活动才知道Eolink,早在几年前,我就成为了Eolink的使用者,所以,这次征文活动我势在必行!本篇文章将会围绕我如何利用Eolink去解决项目问题进行展开讨论,大致分为以下内容:

  • 我为什么选择Eolink
  • Eolink解决了我的哪些问题?
  • 我对Eolink的小建议

选择Eolink的原因

因为本人所在单位主要是做企业数字化服务,所以会存在很多个项目统一管理的问题,而API文档作为研发测试前端的连接工具,更是显得尤为重要。我的需要这个文档解决的问题就是:

  1. 他必须标准化,不标准化就会带来文档差异,导致阅读成本大幅提升,并且直接影响到沟通效率
  2. 对于以前建立的一些文档,必须能够支持无缝迁移过来,不然老项目的文档需要重新写一遍进行管理
  3. 有时候需要提供给第三方一些接口,但是并不会完全将整个项目共享,这种情况可以有两种解决办法
    • 文档自带权限控制,可以部分共享
    • 可以将已管理的部分文档导出给第三方,并且转换成第三方所需的格式
  4. 文档最好是能够将人员的相关信息记录清楚,在对接API时可以有效联系到相关人员
  5. 希望文档系统能够支持其他系统的对接,例如一些研发完成事件,能提供一些Hook,及时推送给钉钉或者企业微信等

根据我的问题场景,我总结一下文档系统需要满足的条件:高度规范化可读性高易维护性强可移植性强权限可控,并且最好是可以连接其他系统,达到流程自动化。针对上述需求,我也开始了文档系统的调研工作,以下为个人调研结论

类型文档工具已满足未满足
基于注释生成文档swagger、smartdoc标准化、可读性一般、维护性一般、高效文档描述有限、无权限控制、无法对接第三方
自定义标准化文档showdoc自定义标准化,需要花费较高成本去维护,可读性可维护性直接自己把控、权限控制无法对接第三方,文档好坏自己定义
第三方文档服务eolink高度规范化、可读性高、易维护性强、多种导入方式、权限控制、支持第三方扩展对于连接其他系统,这边也相当于是实现了,但是没有达到我的预期

综合我的需求,我们最终选择了Eolink作为文档管理系统,有几点主要原因,我们需要高度规范化,对于那些自定义标准化还有对代码入侵比较高的注释生成文档,我们基本上是不怎么考虑的,期间我们也考虑过yapi,但是在之前的一段时间 yapi 出现的了远程命令执行漏洞,这也让我们一直坚持使用专业的文档服务,避免成本与安全上的失衡。

文档
可以看到我使用Eolink也快两年了,还是有一定使用经验,接下来,我将把我遇到的问题如何应用Eolink解决分享给大家!

Eolink解决的问题

以前写的API文档怎么办?

这个问题不用担心,作为一个高级的文档服务平台,支持大多数文档的迁移,如果你是以下几种文档,可以无缝迁移过来:

  1. eolink 同平台,不同账号
  2. postman
  3. jemeter
  4. swagger
  5. yapi
  6. apidoc
  7. apipost
  8. apifox
  9. HAR
  10. RAP

可以看到,主流的文档平台都是支持无缝对接的,并且你在postmanapipost中发起的请求测试,都可以直接导入,因为我们之前有些项目使用 swagger 进行文档编写的,所以我这边将历史文档都统一迁移到 eolink中了,迁移过程如下:

首先访问swagger地址

在这里插入图片描述

然后请求json文档地址,选择ctrl+s另存为
在这里插入图片描述

直接导入http.json

导入

导入

可以看到,很快就导入成功了,预览了一下,效果确实不错

在这里插入图片描述

API没开发完,前端要测试对接怎么办?

实际上API的主要目的就是为了连接客户端和服务端,当产品经理给出需求后,前后端就会预先沟通好API对接情况,我单位主要是前后端讨论后,由前端给出所需数据字段,后端研发好服务后组合服务满足前端需求,但在这个流程后端往往不能及时地给到前端已经研发好的API,针对这种情况,我一般都会采用Mock数据进行解决,但是在前端Mock时,我们就发现,Mock与代码有一定耦合度,并且Mock的数据只能由前端人员修改,其他人员无法参与并协同工作,还有就是请求实际并未真实发送,只是被本地拦截了模拟响应…

EolinkMock很有意思,我认为是一个亮点,它可以让你每一个创建的API都定制高级Mock,他会自己创建一个测试的URL地址,然后让你去定制请求参数以及响应数据,可以让你真实的去请求地址,并且通过一定规则生成的数据真实性也比较高,如下所示:

添加Mock
在这里插入图片描述

可以看到,Eolink很细节的一个地方,他的Mock既可以让你跟随响应变化,也可以让你自己去定义JSON,这种Mock服务接口可以有效的同步多方信息,前端无需感知是否Mock,并且还可以通过界面修改Mock数据,而测试也可以利用建立好的Mock提前建立好单元测试,不用等到API完全出完再进行编写,提升工作进度,并且这种中心化管理的方式,Mock一旦修改,多方自动同步,非常省事放心。

API如何保证正确性

Eollink有个自动化测试,通过在平台上建立API自动化测试用例,然后通过代码提交Hook,然后集成Jenkins,实现提交即自动测试并获取测试报告,这一点也是后面发现才用上,真的很香。

为什么我会考虑使用Eolink这个自动化测试,我们的项目在进行回归测试时,还没有达到完全自动化测试的程度,导致我们测试的效率低,覆盖面不够广,有时候还会遗忘掉一些,并且上线一般都在大半夜,上完线然后测试需要很长时间也会导致团队整体上线效率降低,并且各个测试也需要同步测试用例,测试之前也需要协作,所以Eolink的出现可以说是救我于水火之中了。

添加自动化测试

首先先添加一个测试流程,这里主要是你的业务流程

添加用例

添加完业务测试用例后,需要将过程组织起来,这里我们可以考虑之前写好的api直接导入过来

导入api

可以看到,这里我直接导入了登录API和查询积分余额接口作为本次用例的过程,接下来就是开始测试了,要注意,一般流程协作都涉及到数据传递,所以我们会提取上一个接口的数据作为下一个接入的请求参数,如:这边我需要获取登录响应的token带到获取积分余额中去

在这里插入图片描述

在这里插入图片描述
数据提取

Eolink的API自动化测试可以设置定时任务,实现项目在无人值守的情况下自动测试并且发送报告给相应的邮箱,监控项目监控情况。

在这里插入图片描述

如何及时感知API的健康问题

如果还没有自己的健康检查服务的可以考虑使用Eolink来做,很全面,并且有可视化监控界面,可以保证API出现异常及时反馈,通知给负责人,特别是对于核心的API,因为核心API一旦出现问题,就意味着整个程序的流程都会中断,价值是以每秒进行递减的,损失少则几十万,重则几百万,以下为我项目中的监控示例:

首先可以先添加一个API作为监控,这个API可以是之前文档的导入,也可以是自己新增的

在这里插入图片描述

然后我们对API开启监控功能

在这里插入图片描述

进入监控后,可以看到每个步骤的处理延时情况

处理延时

整个的数据大盘表现如下

在这里插入图片描述

并且在监控日志中还可以看到错误报告

错误报告

我对Eolink的小建议

实际上,Eolink已经非常的成熟可靠了,但是我作为使用者,肯定是还会有一些个人的小习惯,基于我使用过的一些产品,我在此也提出一些小小的建议,希望Eolink官方可以根据合理性进行采纳或者通过其他方式进行产品优化,作为一个使用接近两年的用户,还是希望Eolink能够蒸蒸日上,产品服务越做越好。以下是我的个人建议:

  • 我认为每个模块的侧边栏上应该加上对应模块的使用文档,让新接触的用户能够第一时间了解并使用产品,最好是以小窗口方式打开,类型阿里云、腾讯云是做的还可以的,因为我在给内部做推广的过程中,他们需要专门去文档中心查看,或造成一些时间成本的浪费
  • 希望目录/分组可以支持前置/后置脚本,因为数量一旦多了就无法高效查找了
  • 能否有一个数据中心,各个板块的一些核心数据能够一目了然那种,不需要单独进入每个板块查看,只要核心数据就好了,这样我可以针对数据结果然后再去优先查看数据不稳定的板

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/42893.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

超融合和虚拟化的区别

超融合基础架构(daoHyper-Converged Infrastructure,或简称“HCI”)也被称为超融合架构,如今超融合逐渐成长为目前企业构建软件定义数据中心,乃至未来实现混合云管理架构中一个重要的基础设施支撑平台。那么超融合和虚拟化的区别在哪儿?最重…

K8s 1.23.6版本部署:kubelet-1.23.6+kube-proxy-1.17.6

文章目录前言一、版本环境信息二、服务部署1.基础环境准备2.docker 服务部署,3.k8s服务部署3.1 安装k8s服务,3.2 修改配置文件3.3 执行初始化4.网络插件安装-calico5.dashboard插件安装卸载服务总结前言 K8s 1.23.6版本部署:kubelet-1.23.6kube-proxy-1…

TCP/IP网络编程:P6->基于UDP的服务器端/客户端

本系列文章为《TCP/IP网络编程----尹圣雨》学习笔记,前面的系列文章链接如下 TCP/IP网络编程:P1->理解网络编程和套接字 TCP/IP网络编程:P2->套接字类型与协议设置 TCP/IP网络编程:P3->地址族与…

【期末大作业】基于HTML+CSS+JavaScript南京大学网页校园教育网站html模板(3页)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

【App自动化测试】(十五)手机浏览器(webview)自动化测试

目录1. 手机浏览器自动化前提1.1 安装chromedriver1.2 安装对chromedriver版本1.3 配置capability1.4 设置chromedriver相关配置1.5 使用浏览器的inspect工具远程调试2. 手机浏览器测试代码python版本1. 手机浏览器自动化前提 五大前提: 安装chromedriver安装对ch…

Map集合的概述和接口的使用

目录 一、Map集合概述 1.Map接口的特点 2.方法 二、Map接口的使用 三、Map集合的实现类 1.HashMap 2.Hashtable 3.Properties 4.TreeMap 一、Map集合概述 1.Map接口的特点 (1)用于存储任意键值对 (2)键:无序…

阿里P8整合深入理解Dubbo实战+Kafka+分布式设计核心原理内部手册

一 深入理解Apache Dubbo与实战 近年来,随着业务规模的发展和复杂度的增加,传统的单体应用已经很难适应业务迭代的诉求,越来越多的公司开始进行服务化的改造。很高兴看到ApacheDubbo被许多公司采用,作为服务化改造的基础架构进行…

学习常用算法——python

常用算法 时间复杂度 在日常生活中, 我们描述物体的重量使用的是kg, 描述物体的长度使用的是m, 那么相对的, 在计算机科学中也需要一种度量来定性地描述算法的运行时间, 这种度量方法称为大O表示法. 声明f(n)作为我们的函数, n表示的参数. 不同的参数会导致算法运行的时间不同…

超低延时4K级可定制化专业视觉计算平台

> 内置超低延时4K30 ISP IP,ISP延时 0.7 ms > 内置GigE vision IP支持 GigE Vision2.0、GenICam V2.4.0标准,支持用户自定义XML描述文件 > 内置工业机器视觉行业标准的U3 vison IP > 基于FPGA,支持Bayer、YCbCr、RGB等格式,满足高帧率/高…

ElementUI实现在下拉列表里面进行搜索

分析: 首先我们需要实现上图的效果,然后Element-UI的el-select是没有的,所以需要自己写我们需要用到el-popover组件,然后使用它的v-model"visible"来实现控制显示我们在el-popover的slot"reference" 放一个el-select 使用popper-append-to-body"false…

C++ 之 移动构造函数

1、左值和右值 C( 包括 C) 中所有的表达式和变量要么是左值,要么是右值。 通俗的左值的定义就是非临时对象,那些可以在多条语句中使用的对象,表达式结束后依然存在的持久化对象,所有的具名变量或者对象都是左值。右值是指临时的…

<Android开发> Android vold - 第一篇 vold前言简介

本次主要讲解存储模块如U盘等设备在android设备中的管理和使用的模块。本次主要基于android 8.1版本进行解析。不同android版本 vold的内容可能会有所差异。读者可对比阅读解析。 1 Vold介绍 Android中Vold是volume Daemon,即Volume守护进程;Android没有使用Linux平台下的ud…

泛型的介绍和使用方法

目录 一、泛型概述 二、泛型类 三、泛型接口 1.直接在实现类中确定好类型 2.实现类也写成泛型类 四、泛型方法 五、泛型好处 六、泛型集合 1.概念 2.特点 一、泛型概述 1. 本质是参数化类型,把类型作为参数传递。 2. 常见的形式有泛型类、泛型接口、泛型…

【虚幻引擎】UE4/UE5 后期处理盒子(PostProcessVolume)

一、简介 PostProcessVolume(后期处理盒子):UE4非常强大的一个后期处理,可以调节画面的色彩,相机的景深,视频的输出效果,环境的光线构造,电影级的氛围感。 二、参数介绍 一、场景中…

驱动开发 Linux按键中断点灯

华清远见上海中心22071班 三个按键实现按键中断&#xff0c; key1->led1 key2->led2 key3->led3 按键按一下灯亮&#xff0c;再按一下灯灭 #include <linux/module.h> #include <linux/init.h> #include <linux/cdev.h> #include <linux/f…

外贸供应链ERP怎么选?全流程综合管理解析

随着外贸体制深入改革、进出口权放开等&#xff0c;以往处于垄断地位&#xff0c;享有种种优惠政策的外贸企业&#xff0c;将面临越来越严峻的国内外市场的竞争及各种挑战。长期以来形成的相对落后的管理体制和经营模式&#xff0c;严重地影响外贸企业在新形势下的生存和发展。…

m基于GA遗传优化+SA模拟退火的混合改进算法的多产品多机器生产优化matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 这里&#xff0c;我们首先介绍一下改进算法的基本原理&#xff0c;按照前面说的&#xff0c;这里我们主要将GA和SA进行合并。 这里&#xff0c;我研究了下&#xff0c;将两种算法做如下方法的结合…

Microcorruption 第一关 Tutorial

Microcorruptioin 第一关 Tutorial 首先进入Tutorial这一关&#xff0c;这是闯关页面。 在主函数设置断点&#xff0c;控制台输入"break main"或"b main"或手动点击反汇编栏中main函数的第一行设置断点。 该闯关游戏主要是破解密码&#xff0c;查看主函数…

前端开发免费资源分享

Fancy-Border-Radius 地址&#xff1a;https://9elements.github.io/fancy-border-radius/ 简介&#xff1a;在线编辑border-radius的可视化工具&#xff0c;通过调节可以很方便地帮我们生成想要的形状&#xff0c;然后直接复制下面的css代码&#xff0c;即可使用 Make some …

sCrypt 合约中的椭圆曲线算法:第二部分

我们在脚本中实现了椭圆曲线 (EC) 算法。在之前的实现中&#xff0c;我们进行链下计算并在脚本中验证结果。我们这里直接用脚本计算。 基于EC的应用非常多&#xff0c;特别是在密码学领域&#xff0c;如数字签名、加密、承诺方案等。作为具体示例&#xff0c;我们重新实现了 E…