想必大家都注意到了,近半年国产API管理工具火了起来。这说明两个问题,第一,API管理的重要性被越来越多的开发者认识到了,研发团队对API管理的需求也越来越强了。第二,说明国产软件真是越来越厉害了,大家确实在逐渐告别postman、swagger等产品,开始选择国产工具。
今天,我要给大家推荐一款低调但实力强大的API管理神器,ApiKit!就很Pro!
Apikit 是一款定位专业级的一站式API平台,团队早在2016年就发布了国内第一个将Swagger+Postman+Mock+Jmeter单点工具集合在一起的开源产品Eoapi,能够快速解决API文档管理、快速测试、Mock、API自动化测试等问题。并在2017年正式发布了全球第一个在线API全生命周期管理平台,帮助全球开发者更高效的开发、测试和运维API。
其实,一个产品是不是用心打磨过,手感好不好,一上手就知道了。赶紧试试看吧,复制链接粘贴到浏览器下载!
https://www.eolink.com/?utm_source=cpsf&utm_content=cpy14
为解决API管理而生
Apikit 在产品迭代的过程中,总结了大量API研发和测试过程中的痛点:
- 多个API工具的数据难以打通,比如API文档管理用Swagger、Word或者Wiki,测试用Postman,Mock自己写脚本,压力测试用Jmeter或Loadrunner,甚至一个项目内部可以同时存在多个API管理工具,多个工具之间数据无法真正打通,无法高效地维护API信息和团队协作。
- API文档编写繁琐、设计不规范、更新不及时、缺乏统一文档格式等,导致API文档的可读性很差,也没有办法做快速分享。
- 没有版本管理,缺乏变更通知,不知道API在什么时候被什么人改了什么地方,影响了什么系统或模块。
- 测试人员难以维护测试用例,大量使用脚本的方式写自动化测试,学习、编写和维护的成本都很高。
导致团队协作低效,频繁出问题。
Apikit 的创新型解决方案
Apikit 提出了针对API开发协作的创新理念:文档与测试驱动开发(DTDD),简单地说就是:
用标准文档代替口头约定和笔记文档,让开发、测试、运维、协作有迹可循;
快速用测试结果推动开发进度,让团队沟通更充分、管理有事实依据,实现敏捷开发。
这套理念经过大量用户验证,逐步形成了以下的API研发测试流程,将后端、前端、测试等团队更好地结合在了一起。
Apikit 的功能到底有多强?
市面上有众多API研发工具,基本都包含了接口设计、文档管理、数据模型、接口调试、接口用例、接口数据Mock等基础功能,但是ApiKit 依然在功能深度、广度以及用户体验等方面都做到了更好。
- 全面、快速、规范地管理所有 API 文档
无论使用什么语言开发,无论是 HTTPS、Websocket、TCP、UDP 等协议,还是 Restful、SOAP、WebService 等规范,Apikit 都可以协助团队快速、统一、规范地管理起来。
- 支持所有常见API协议; 通过界面快速创建API文档,支持导入各类数据报文直接生成文档内容;
- 通过扫描代码注解自动生成API文档,可关联 Swagger 或代码仓库;
- 一键导入 Swagger、Postman、Rest Client、RAP、YAPI 等产品数据;
- API 文档自动生成代码,支持Java、PHP、Javascript、Python等数十种语言以及上百种框架;
- API 版本管理,清楚知道API在什么时候被什么人改动过了什么地方; API 变更通知,不放过 API 的任何变动。
- 一键发起API测试,打通 API 文档与测试
Apikit 可以一键发起测试,支持自动生成测试数据,能够通过 Javascript 代码对请求报文、返回结果等进行加解密、签名等处理。
- 支持本地测试、局域网测试、在线测试等;
- 支持一键切换测试环境,使用全局变量、增加额外请求参数、改变请求地址等;
- 可在界面直接编写 JSON、XML、Formdata、Raw、Hex 等数据类型;
- 支持将测试数据保存为测试用例,以后可以直接使用测试用例进行测试;
- 一键自动生成各语言测试代码,复制代码即可直接用于项目中;
- 支持在测试过程中编写代码进行签名、加解密、生成随机数据等操作
- 提供详细的测试报告,包括返回头部、返回结果、性能时间分析等内容;
- 零代码自动化测试,一键进行大范围回归测试,极大减轻测试工作量!
减少超过 95% 的测试时间!当 API 发生变化时,可以一键进行API回归测试,系统会自动根据规则判断返回结果并得出测试报告,方便团队快速了解 API 改动的影响范围。
- 针对每个 API 可快速创建多个测试用例,提高 API 测试覆盖率;
- 一键、批量、快速测试 API,特有的测试控制台功能,控制台中能够直接查看测试结果;
- 测试用例可设置断言规则,系统自动判断返回结果并得出测试报告,准确告知错误原因;
- API 状态或内容发生变更时可自动通知相关人员,系统会列出新版本改动的内容;
- 可通过 Open API 触发 API 测试,结合 Jenkins 等 CI/CD 系统打造属于您的测试流程。
Apikit 使用体验
- 自动生成API文档
您可以给项目关联 Swagger 生成的 JSON 文件地址,API 研发管理平台能够远程读取 Swagger JSON 并自动生成API文档。
- 自定义数据结构、引用
可以独立定义数据结构,接口定义时可以直接引用数据结构,数据结构之间也可以相互引用。同样的数据结构,只需要定义一次即可多处使用;修改的时候只需要修改一处,多处实时更新,避免不一致。
- 动态Mock API
通过 Mock API,可以事先编写好 API 的数据生成规则,由 API研发管理平台 动态生成 API 的返回数据。开发人员通过访问 Mock API 来获得页面所需要的数据,完成对接工作。
Eolink 支持非常强大的动态Mock API,可以根据不同的请求参数自动返回不同的 HTTP Status Code、Header、Body等数据。您可以在一个 API 文档里创建多个Mock API ,模拟前端发起的各种请求,方便对前端逻辑进行校验。
当项目正式发布时,只需将 Mock API 的地址前缀替换为实际的访问地址即可。
- API变更智能通知
许多用户在维护 API 时,经常遇到 API 文档变更了,但是前端和测试人员却不知道的问题。Eolink提供了变更通知功能,当 API 发生变化时通过邮件和站内信自动通知相关成员,并且显示变更的内容:
- 当API状态变为“开发”时,通知后端开发
- 当API变为“对接”时,通知前端进行对
- 当API变为“测试”时,通知测试人员进行测试
- API文档直接评论标注,降低沟通成本
开发人员可以直接在 API 文档上发布评论,所有的沟通内容都会跟随 API 文档保留下来并且按照版本分类好,而不是零散地存在各种聊天工具中。这样避免后期沟通时找不到依据而浪费时间。
不得不说,这个功能实在太香了!
- 查看、回滚、对比API编辑历史
Apikit 还提供了非常强大的 API 版本管理功能,您可以随时回滚到任意一次 API 文档版本,并且还可以对比两个版本之间的差异。当无法用语言沟通更新了什么时,不妨试试版本对比~
- 一键发起API测试
创建好 API 之后就可以立刻对该 API 进行测试,并且可以通过参数构造器,自动生各种类型的测试数据:
- 管理API用例、一键回归测试
在 API研发管理平台 中,由于协作是基于 API 文档进行的,当后端开发人员将 API 文档写好之后,测试人员就可以马上介入,在 API 文档的基础上编写测试用例,让测试工作前移。
- 当 API 开发完成之后,测试人员可以一键将 API 的测试用例全部测完,并且得到详细的测试报告。后端开发只需要看到测试结果就能够知道自己的 API 是否满足测试需求,如果有异常则可针对性改进。
- 当 API 发生改变后,测试人员一键即可进行 API 回归测试,真正解放劳动力。
- 丰富的导入、导出
- 支持导入 OpenAPI(原Swagger)、Postman、RAP、YAPI、ApiPost 、Apifox 等数据格式,方便迁移旧项目。
- 支持导出 OpenAPI(Swagger JSON)、Markdown、Html、Word、PDF、HTML等格式,因为可以导出OpenAPI格式数据,所以您可以利用 OpenAPI(Swagger) 丰富的生态工具完成各种接口相关的事情。
然而,ApiKit 的功能还远不止如此! 还有很多亮点等您探索,您可以在项目中进行严格的人员权限管理、API状态码管理、项目文档管理、测试环境管理等等……
总结
当然,Apikit 还有一个特别强悍的地方,除了API管理、自动化测试服务以外,它是全球第一个API全生命周期管理的SaaS平台,还提供了包括API网关、API监控、API自动生成等服务。虽然全生命周期管理与个体开发者关系不大,但这是未来的发展趋势,当前先进的研发团队都讲API-First,所以 ApiKit 作为API全生命周期管理工具,大家提前了解只有好处没有坏处。
Apikit 作为国内API行业的头号玩家,服务了包括元气森林、统一集团、奇安信、深信服、泰康保险、中化能源、苏州银行、纷享销客、索尼等数万家海内外各行业领先企业。
最后,让我们回归产品,还是那句话,一个产品是不是用心打磨过,手感好不好,一上手就知道了。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
1 synchronized 的缺陷 synchronized 是 java 中的一个关键字,也就是说是 Java 语言内置的特性。那么为什么会出现 Lock 呢? 在上面一篇文章中,我们了解到如果一个代码块被 synchronized 修饰了,当一个…