探索更适合国内开发者的API接口管理工具:ApiPost的全新体验与功能解析
在一个团队中,通常由多个角色共同协作完成项目的交付,包括业务、产品、设计、前端、后端和测试等。前端与后端的有效沟通依赖于一个统一的接口文档,团队成员在开发之前需要通过该文档约定后端的接口返回内容,确保每个角色都能依据约定来进行开发。然而,通常情况下,接口文档是由后端开发人员编写,维护过程也变得相对繁琐。
最近,我的团队中有伙伴推荐了一款名为 ApiPost 的接口管理工具。经过使用,我觉得它非常出色,因此在此分享给大家。
ApiPost 提供了以下四大功能:接口调试、接口文档生成、Mock 工具以及接口流程测试。
ApiPost = API 接口调试工具 + 接口文档快速生成 + Mock 工具 + 接口流程测试
- API接口调试工具:类似于 Postman、Postwoman 等。
- 接口文档快速生成:市面上常见的接口文档工具有 Swagger 和 smart-doc,但它们对代码的侵入性较强。
- Mock工具:主要帮助前端根据接口生成相应的数据,例如 RAP 等工具。
- 接口测试:常见的接口测试工具有 JMeter。
值得一提的是,ApiPost 是由国内开发者打造,旨在提供更好用、更符合中文用户需求的接口调试与文档管理工具,这无疑是英语水平不高的开发者们的一大福音。
接口调试功能
代码格式化
接口调试是开发阶段中最常用的功能之一,借助 ApiPost 可以进行常规的接口调试。
其中,我特别喜欢的是对返回参数的 Json 格式化功能,类此于 Postman 自带的 Pretty 功能。
在 ApiPost 中,Json 格式化功能可以通过右侧的三角形按钮对数组元素进行展开或折叠,尤其在面对复杂的数组结构时,这一功能显得尤为强大。
与 Postman 相比,后者只能通过复制结果并使用在线工具进行格式化,明显增加了工作负担。
在线Json格式化工具:sojson.com
全局参数管理
另一个我特别喜欢的功能是 全局参数。
在接口测试时,我们经常需要填写相同的鉴权请求头,这一过程在实际项目中会显得十分繁琐。而使用 ApiPost,可以通过全局参数来简化这一过程。
通过全局参数配置后,以后添加的接口将自动携带已定义的请求头,此外,支持全局的 Query 和 Body 参数,可以有效减少重复工作,提高效率。
目录参数管理
此外,ApiPost 还支持按项目模块创建不同目录。例如,对于蘑菇博客项目,可以创建两个目录:mogu-admin 和 mogu-web,分别代表后端管理和门户项目。
后台管理与门户有不同的鉴权逻辑,因此全局配置 token 不适用两个场景。在这种情况下,我们就需要使用目录参数。
通过为不同目录配置不同全局参数,我们可以有效地解决上述问题。
当全局参数、目录参数和接口参数同时存在时,ApiPost 会按照以下优先级读取参数值:
单个接口 > 目录参数 > 全局参数
举个例子,假设定义了如下参数:
- 全局参数:token 值为:698d51a19d8a121ce581499d7b701668 // 最低优先级
- 目录参数:token 值为:b50e345cc9febd86dedecc551ebcc505 // 次优先级
- 单接口参数:token 值为:a1a9db893bb8a28ccb665d2af54d9417 // 最高优先级
最终发送的 token 值将是:a1a9db893bb8a28ccb665d2af54d9417。
接口文档快速生成
通过点击分享文档,用户能够方便地获取文档链接。
复制并打开文档链接即可查看完整的接口文档。
细心的用户可能会注意到,文档中的请求参数缺少相关字段介绍。此时,可以返回 ApiPost 页面,点击 提取字段和描述 来填写相应字段。
完成后重新发布,即可看到每个字段的含义。
有些用户可能会注意到,返回值示例缺失。这是因为 API POST 不会自动将实时响应数据作为响应示例。需要手动将实时响应结果复制到相应的成功和错误响应示例中。
完成这些步骤后,文档将包含成功示例。
通过这种方式,文档的测试和更新变得更加灵活,极大地方便了后端开发者。然而,填写参数描述往往是一项繁琐的任务,尤其是对于包含大量相同名称和意义的参数时,手动输入会显得低效。
为了解决这一问题,我们可以通过 ApiPost 的参数描述库来快速注释本项目中使用的多个参数。
在填写某个描述后,该描述会自动保存到 参数描述库,下次匹配到相同名称时,会自动生成对应描述,极大提升工作效率。
Mock 工具
在后端接口尚未开发完成的情况下,前端人员可以通过 Mock 事先编写 API 数据生成规则,以便工具动态生成 API 返回数据,确保页面能够获得所需数据,从而顺利完成前后端的对接工作。通过接口文档的定义,前后端可并行开发,直到最后联调阶段。
ApiPost 的 Mock 工具可以在没有后端程序的情况下真实返回接口数据,利用 ApiPost 实现项目初期的前端效果演示,或者在开发阶段模拟数据,实现前后端分离的工作。
ApiPost 支持直接引用 mock.js 变量,点击下方链接查看 内置 Mock 字段变量 。
以下是一些常用的内置变量:
- @guid():随机生成一个 GUID,例如 DEfbBBBf-7A23-a4DB-9BB1-57BCFf5FB5fc
- @integer(1,100):随机生成一个介于 1 到 100 的整数
- @datetime('yyyy-MM-dd HH:mm:ss'):返回一个随机日期和时间字符串,例如 1977-11-17 03:50:15
- @url('http'):生成随机的 http URL
- @email():生成一个随机邮箱地址
- @province():随机生成一个中国省份
- @city():随机生成一个中国城市
- @title():随机生成一个标题
- @cname():随机生成一个中文名称
- @cparagraph():随机生成一段中文文本
现在,我们可以利用这些常见的 Mock 变量来生成一个 Mock 服务。
首先点击 Mock 服务,然后编辑 Mock 模板,实时生成的 Mock 数据 将显示在右侧。
点击上方的 复制链接,即可将该接口的 Mock 请求分享给前端开发同事,方便合作开发。
测试流程功能
流程测试允许用户针对一组接口进行综合测试。选择合适的环境后,可以将多个请求作为一系列操作一起运行。流程测试在需要自动化 API 测试时尤其有用。点击开始后,接口集合将并发发出请求,最后根据预设的测试校验模块给出结果。
在 ApiPost 中,创建一个流程测试需要遵循以下步骤:
- 新建接口,并添加断言
- 打开流程测试,创建新流程
- 向流程中添加测试接口
- 选择环境,点击开始测试
- 查看返回的测试接口结果
流程测试界面如下所示:
通过点击接口名称,用户可以查看请求的参数信息及响应内容。
而且在 ApiPost 中,还提供了许多内置函数,使得处理某些变量变得更加轻松。
ApiPost 的更多功能等待用户去探索。