接口全生命周期的生产利器 ApiKit

news2024/12/24 20:56:12

一、ApiKit 整体介绍:

1、接口管理的需求与现状:

在软件项目研发的过程中,必然存在以下几个需求:

  • API 接口文档的管理,常用的解决方案有 Swagger

  • API 接口的调试,常用的解决方案有 Postman

  • API 接口的自动化测试,缩小版本迭代过程的测试周期,提高版本的代码质量,常用的解决方案有 JMeter

  • API 接口数据的 Mock,节省数据构造的时间、以及告别等待后端接口,常用的解决方案有 MockJs

虽然 Swagger、Postman、JMeter、MockJS 各自能非常出色地满足上面研发流程中的不同环节的需求,但是由于完成 接口设计、文档编写、调试、数据Mock、测试验证 等工作需要使用好几个不同工具,所以实际中使用时,会遇到如下情况:

(1) 开发人员基于Swagger定义好文档之后,接口调试时还需要去 Postman 再定义一遍 (2) 前端开发 Mock 数据时又要使用 MockJs 定义一遍,还需要手动设置 Mock 规则 (3) 测试人员在构造测试用例时需要使用 JMeter 再定义一遍 (4) 前端基于 MockJs Mock 出来的数据开发完,后端根据 Swagger 定义的接口文档开发完,各自都试测试通过了,本以为可以马上上线,结果一对接发现各种问题: a.开发过程中接口变更了,但只修改了 Swagger,没有及时同步修改 MockJs b.后端开发的接口数据类型和文档不一致,肉眼难以发现问题。 (5) 同样,测试在 JMeter 写好的测试用例,真正运行的时候也会发现各种不一致。 (6) 随着时间的推移,各种不一致会越来越严重。

总结下来就是存在以下问题:

(1)多系统数据不互通,无法相互导入,造成用 Swagger 定义和编写接口后,API设计者、前端开发、后端开发、测试人员 在使用 Postman、MockJS、Jmeter 等工具时还需要重复大量相同的工作,效率低。

(2)数据一致性困难。由于数据不互通,每次变更接口内容,都需要不同角色去修改多套系统,一致性的维护非常困难,且随时间的推移越来越严重。

(3)多套系统间无法团队协作,变更无法及时通知和同步到团队成员手中,导致各种沟通不及时、协作低效、频繁出问题。

2、什么是ApiKit:

那有没有一款工具能够实现上述功能的统一,从而解决刚才提到的问题呢?答案肯定是有的,也就是我们这篇文章的主人公 ApiKit。

官方对 ApiKit 定位是: ApiKit = API 管理 + Mock + 自动化测试 + 异常监控 + 团队协作 ,作为一款接口全周期的生产力工具、一站式接口管理平台,它真正实现了数据流的打通,在一个软件上就能实现 接口设计-> 接口文档 -> 接口调试 -> 接口修改 -> 接口mock -> 接口测试 -> 接口自动化 -> 接口迭代 的工作流闭环,后端,前端,测试不同领域既能各取所需,又能协同合作。

通过 ApiKit,我们只要定义接口文档,就可以直接使用 接口调试、数据Mock、接口测试 等功能,无需再次定义,在接口调试完成后即可保证和接口文档定义完全一致,高效、及时、准确!也就是说,ApiKit 主要为我们提供了这 5 类功能:API 文档设计、API 接口调试、API 自动化测试、API 数据 Mock、团队协作

二、接口管理模块:

1、接口的设计(swagger):

接口设计,即定义接口文档规范,如接口请求路径、参数、返回值、数据结构等, ApiKit 的接口文档遵循 OpenAPI 规范,不仅具备 swagger 的核心功能 ,同时具备更多的优势:

  • 可视化的 API 文档设计和管理页面,零学习成本,上手使用成本低

  • 接口和文档一体化,修改接口可同步修改文档,节省维护文档的精力

  • 支持在线分享 API 文档,方便与外部团队协作。

  • 支持数据模型,接口间可以复用相同数据结构。

2、接口的调试(postman)

完成接口与文档设计后,就可以直接运行接口来调试了。ApiKit 的接口文档功能和调试功能一体,调试和修改文档能节省掉切换工具和系统间同步数据的成本。

 

测试内容保存为API文档

若测试没问题,可点击右上角的“保存为新API”,快速把测试数据保存为API文档,方便下次调试。

 

3、代码的自动生成:

ApiKit 的代码生成功能,可以根据接口与数据模型的定义,自动生成各种语言的业务代码,让服务调用端可以少写点代码,提高效率同时也提高了准确性。

4、数据的导入:

说到这里,如果真的要使用ApiKit,肯定会考虑到我们的业务已经迭代了这么久了,存在大量的接口,重新用ApiKit去一个个定义好接口文档,肯定不太现实吧?别担心,由于 ApiKit 支持 OpenApi、Postman,Jmeter 等数据格式导入,所以旧项目可以一键无痛迁移到Apikit,无需再次新建项目。

 

5、自动生成文档:

 

测试内容保存为API文档

若测试没问题,可点击右上角的“保存为新API”,快速把测试数据保存为API文档,方便下次调试。

 

三、数据Mock模块:

前端开发往往依赖于后端数据接口,但很多时候前后端开发步调不一致,在后端接口还没开发完成之前,前端通常很难开工。而 Mock 功能就是用来解决这个问题的,有了 Mock 工具之后,前端可以通过 Mock 工具来制造假数据接口来进行模拟接口调用,前后端可以同步进入开发,进而保障前端的开发进度。

 

四、自动化测试模块:

ApiKit 的自动化测试是基于测试用例实现的,测试用例,就是将多个接口有序地组合在一起运行,用来测试一个完整业务流程,ApiKit 的自动化测试有如下几个特色:

  • 支持引用 API 文档中定义的接口 或者 引用接口用例 快速生成测试步骤。

  • 支持绑定接口,接口发生变化时,自动更新测试用例。

  • 支持自动生成测试报告

在API 自动化测试平台中,所有的测试用例都是以项目维度来进行管理,一个自动化测试项目可以从多个API文档项目中引用API信息来创建API测试用例。

进入 API自动化测试 项目列表页,点击添加按钮:

 

在弹窗中输入相应的信息,点击确定即可:

 

在创建项目时,您也可以指定一位空间内的成员成为该项目的初始管理员,他能够帮助您进行项目内的人员权限管理工作,如绑定空间内的成员到该项目,或者修改某个成员的操作权限等。

 

五、团队管理模块:

在团队协作这方面,ApiKit 拥有成熟的 团队权限 和 项目权限 管理,支持管理员、普通成员、只读成员等角色设置,满足各类企业的需求。团队权限指成员对团队操作的权限,项目权限指成员对项目操作的权限。

点击页面左上角功能菜单,在下拉菜单中选择要切换的工作空间。

 

点击创建/加入,在引导页面中选择创建工作空间,填写工作空间名称、域名并点击确定即可。

 

六、说在最后:

作为一款接口全周期的生产力工具、一站式接口管理平台,ApiKit 在传统软件的基础上做了不少操作优化和团队协同提效的功能,对研发人员来说,可以减少无意义的工作量和繁杂耗时的沟通成本,将时间花在能 提升自身竞争力 的地方。对企业来说,它能通过提高整体的合作效率来 为企业节约成本 ;因此,官方建议的团队协作流程是这样子的:

(1)前/后端 在 ApiKit 可视化接口设计界面上定义好项目各个接口文档的初稿

(2)前后端 一起评审,完善接口文档

(3)前端 使用根据接口文档并使用 Mock 功能自动生成 Mock 数据进入开发,无需手写mock规则

(4)后端 每次调试完一个功能就保存为一个接口用例。如开发过程中接口有变化,调试的时候就自动更新了文档,零成本的保障了接口维护的及时性。

(5)测试 在接口管理页面一键生成接口参数测试用例,并依据业务场景生成自动化测试用例,一键运行接口用例,完整测试整个接口调用流程并生成接口测试报告并分享给相关人员。

(6)前后端 都开发完之后,前端将 Mock 数据切换到正式数据进行联调,由于使用同一个接口数据源,且遵循了接口规范,联调一般会非常顺利

(7)即使 版本需求变更导致接口发生了变化,后端提交修改后,前端和测试也能实时同步到修改后的数据

(8)项目经理 通过权限设置给 研发、产品、测试、外部合作人员 分配不同的操作权限,维护了项目安全

(9)项目经理 通过各个接口的开发状态来跟进项目的进度情况,把控项目风险。

官网:

https://www.eolink.com/?utm_source=cpcs&utm_content=cpy12

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

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

相关文章

Java——网络编程套接字

目录 一、网络编程基础 1.1 为什么需要网络编程?——丰富的网络资源 二、什么是网络编程? 三、网络编程中的基本概念 3.2 请求和响应 3.3 客户端和服务端 常见的客户端服务端模型 四、Socket套接字 五、通信模型 5.1 Java数据报套接字通信模型 5.2 Java流…

【大数据之Hive】二、Hive安装

Hive安装部署(最小化部署) 安装部署Hive(最小化只用于本机测试环境中,不可用于生产环境),并运行。 步骤: (1)把apache-hive-3.1.3-bin.tar.gz解压到/opt/module/目录下&…

IIC总线学习

IIC总线 1.总线空闲状态。2.IIC总线的起始停止条件。3.IIC总线的数据传送4.IIC总线的应答5.IIC时序 1.总线空闲状态。 总线空闲时,SDA和SCL均为高电平。 2.IIC总线的起始停止条件。 起始条件:在SCL为高时,SDA总线被拉低,即出现…

json-server的基本使用

1、mock是什么? mockjs 作用:生成随机数据,拦截 Ajax 请求 目的:很多时候前端开发页面的过程中,后端的接口并没有写好,这个时候需要前端自己定义接口及接口的返回数据的结构体,这个时候就需要…

【活动】云计算的优势与发展趋势

写在前面 人生是一场消耗,要把美好的时光放在喜欢的人与事上。 一、前言 云计算作为一种新兴的信息技术应用解决方案,可以帮助企业解决IT资源利用率低、IT基础设施的建设和维护成本高、IT系统的安全和稳定性问题等痛点,提高企业的业务灵活性…

react表格行下载文件方法总结

一、前言 下载文件时,后台接口返回的响应体是文件流格式的,前端接收时如果不进行处理,就会无法正确下载文件(有可能会直接打开文件等)。 在此记录下react的表格行使用file-saver下载文件的方法。(注意不同…

文件包含的本质、预处理符号、# vs ##

何为头文件? 在C语言中,文件包含是一种常见的编程技术,它允许程序员在一个源文件中使用另一个源文件中的函数或变量。 文件包含通常使用#include预处理指令来实现。#include指令告诉预处理器将文件的内容插入到当前文件的指定位置中。 例如&a…

今天面了个阿里拿 38K 出来的,让我见识到了测试界的天花板

一直觉得自己的技术已经很不错了,直到最近遇到了一个阿里来的大佬 5年测试,应该是能达到资深测试的水准,即不仅能熟练地开发业务,而且还能熟悉项目开发,测试,调试和发布的流程,而且还应该能全面…

第04章 IDEA的安装与使用

【Why IDEA ?】 【注】JetBrains官方说明: 尽管我们采取了多种措施确保受访者的代表性,但结果可能会略微偏向 JetBrains 产品的用户,因为这些用户更有可能参加调查。 此外,2022年,某美国软件开发商在对近千名专业的J…

chatgpt赋能python:Python中的Split函数:去空操作详解

Python中的Split函数:去空操作详解 在Python编程中,我们经常需要对字符串进行操作。而字符串的分割操作在其中是非常常见的操作。Python中的split函数便是用来实现字符串分割的函数。不过,在使用split函数时通常还需要经过去除空格等操作。 …

Inno软件打包发布并后台安装相关驱动

bat安装 bat脚本的具体书写可自行百度。 其主要思路是将Driver文件存放在Bin下面,先安装Bin,然后在执行bat脚本来安装driver 具体些步骤: (1)编写一个install.bat的脚本 echo off ::下面三行代码是不显示dos界面 i…

加急!指定日本| 教育学老师9天获邀请函申报CSC

S老师拟申报今年的国家留学基金委(CSC)公派访问学者项目,因所在高校要求提前上报,所以委托时只留给我们11天申请时间,且指定日本高校。最终我们在第9天获得熊本大学邀请函,提前完成了客户的委托。 S老师背景…

Android平台GB28181设备接入模块如何对接NV21、YV12、RGB、YUV等外部数据

技术背景 我们在对接Android平台GB28181设备接入模块的开发者时,遇到这样的场景,除了Android设备(如执法记录仪、智能安全帽等)自带的camera或camera2前后摄像头数据外,还有些场景是需要外部编码前或编码后数据&#…

淡季不淡,满帮一季度净利创历史新高的背后原因是什么?

进入五月,经济复苏的成果越发体现在很多基础行业的表现中。经济的“大动脉”货运行业,也迎来一份新答卷。 北京时间5月22日美股盘前,数字货运平台满帮集团(NYSE:YMM,简称:满帮),发布…

预约直播领券,1%服务费,视频号618大促激励来了!

视频号直播6.18大促激励计划来了! 激励有效期为2023年05月31日20:00:00至2023年06月18日23:59:59;参与对象为活动期间满足视频号开播条件的。 通过视频号直播选择“购物”类目开播开通橱窗功能的商家和达人,可参与4大激励计划。 预约领券激…

pix2pixHD---model---生成器

然后是model的搭建: 在creat_model函数中: import torch def create_model(opt):if opt.model pix2pixHD:from .pix2pixHD_model import Pix2PixHDModel, InferenceModelif opt.isTrain:model Pix2PixHDModel()else:model InferenceModel()else:fro…

【FFH】OpenHarmony——ArkTs应用开发+正则表达式

【FFH】OpenHarmony——ArkTs应用开发正则表达式 文章目录 【FFH】OpenHarmony——ArkTs应用开发正则表达式1. 前言——系列介绍2. 本文摘要及背景2.1 摘要2.2 背景2.3 MindMap 3. 正则表达式在ArkTs的使用3.1 变量 RegExp3.2 使用3.3 贪婪模式与懒惰模式:eye_speech_bubble:Ar…

从HelloWorld深入源码了解SpringSecurity底层逻辑

文章目录 一、环境搭建1、创建项目测试1.1、搭建基础项目1.2、整合Spring Security 二、实现原理1、Spring Security的实现原理1.1、Spring Security 如何完成认证和授权1.2、Security Filters 2、 Spring Security默认配置和如何自定义配置 三、整个HelloWorld的流程分析三、H…

流程用例的签名保障,Python接口自动化框架封装案例!

目录 前言: 1.项目背景及需求 2.框架整体架构设计 3.接口管理模块的封装 4.用例管理模块的封装 5.请求模块的封装 6.签名模块的封装 7.案例展示及代码实现 结语: 前言: 随着互联网技术的不断发展,人们对于软件质量的要求…

臻图信息跟进新基建建设,构建“智慧铁路”“指挥调度”管理系统

铁路作为国民经济的骨干、国家关键性基础建设,在社会经济发展中起到关键性作用,交通在全天运行、运量多、运价少、占地面积小和安全环保等方面有着显著的优势。 近年来,我国高度重视铁路发展,2020年8月国铁集团出台《新时代交通强…