用ApiFox MCP一键生成接口文档,做接口测试
日常开发过程中,尤其是针对长期维护的老旧项目,许多开发者都会遇到一系列相同的困扰:由于项目早期缺乏严格的开发规范和接口管理策略,导致接口文档缺失,甚至连基本的接口说明都难以找到。此外,由于缺乏规范化的接口测试,项目维护人员不得不耗费大量时间理解代码逻辑,进而手动验证接口功能。这种状态不仅降低了开发效率,还严重影响了项目交接的顺利进行。
今天在cursor中通过ApiFox MCP工具,一键获取接口信息,一键实现接口测试,从而大幅提高接口管理效率。
一、老旧接口面临的典型问题
老旧接口在开发和维护中面临以下突出问题:
-
文档缺失或不全: 在项目早期,由于开发节奏快,缺乏严格的接口文档规范,导致后期维护人员难以快速掌握接口功能与调用方式。
-
接口测试缺失: 老旧项目的接口通常没有对应的自动化测试脚本,测试往往依靠手工操作,不仅效率低下,也容易遗漏细节问题。
-
维护难度高: 缺乏清晰的接口文档和有效的测试手段,使得后续维护人员需要花费大量时间阅读代码和调试接口。
这些问题在长期维护项目中尤为明显,使得开发维护成本持续攀升。
二、ApiFox MCP的核心能力
1. 读取个人项目的OpenApi Spec文件内容
2. 读取个人项目"的OpenAPISpec文件内$ref的文件内容,可以同时获取多个文件内容
Parameters:
path:OpenAPISpec文件内$ref的值,可以同时获取多个文件内容,如:["/paths/_get_pet.json"
"/paths/_get_order.json"]
3. 从服务器重新下载最新的"个人项目"的OpenAPISpec文件内容
有了上面的几个核心能力,我们就可以:根据接口文档生成或修改代码、搜索接口文档内容等等,至于通过这个接口文档数据能让 AI 干什么更多更强大的活,请发挥你和你的想象力。
三、ApiFox MCP详细操作指南
这里我用到了一个idea集成的工具 叫 Cool Request, 为什么不用ApiFox自带的ApiFox 插件,是因为Cool Request太好用了,虽然同样拥有定位接口,直接加载项目中接口的能力,但是CoolRequest可以直接调正在运行中的spring中的方法,也就是说,任何的方法,只要你想调,随时都能通过CoolRequest去调用,这个绝对是开发过程中调试bug的神器。
好了,不说太多了,有点儿跑题了,可能有人会有疑问,说ApiFox MCP怎么就扯到了Cool Request上了,那么这两个有什么关系呢?
我通过Cool Request可以一键将Api接口导入到ApiFox中,具体操作如下:
如果第一次操作,会弹出需要配置ApiFox
可以参考官网
1. HTTP Authorization
用于获取、添加用户自定义目录
该Token请在Web端登录后,按下F12进入开发者模式,任意选择一个请求,点击详情,在请求头中复制Authorization值。
2. openapi token
下载一个官方客户端,或在官方登录后,在账号设置中,可以新建一个访问令牌
设置好这两项之后,就可以一键导入Cool Request的api接口到ApiFox中了。
接下来需要配置ApiFox MCP server。在Cursor中, 添加配置
"API 文档": {"command": "cmd","args": ["/c","npx","-y","apifox-mcp-server@latest","--project=XXXXXX"],"env": {"APIFOX_ACCESS_TOKEN": "XXXXXX"}
}
替换project和APIFOX_ACCESS_TOKEN
project如下图在项目设置中找到基本设置,项目id。token与上文中的token为同一令牌。
设置好之后,就可以问cursor了
我发现,我问的时候,调用MCP工具查到了好多个跟 “航线” 相关的接口,即使我把名称原封不动的复制进来也是存在这样的问题。如果碰到这种问题怎么解决呢?
直接复制ApiFox的接口id来让MCP精确执行
我们可以看到他会先刷新接口信息,根据最新的接口获取详情,然后再去生成对应的接口文档。
接下来,我让他帮我生成接口自动化测试,他也能很好的写出来。
四、ApiFox MCP实战效果
通过ApiFox MCP工具,我们能够:
-
效率显著提高: 接口文档和测试脚本自动生成,省去了大量手动撰写文档和人工测试的时间。
-
接口质量稳步提升: 自动化测试脚本有效减少了人工测试的遗漏,接口质量得到保障。
-
维护成本降低: 清晰易读的自动生成文档使得新成员快速上手,大幅降低了知识传递成本。
五、ApiFox MCP应用场景
ApiFox MCP尤其适用于以下场景:
-
老旧项目的维护与升级。
-
团队人员频繁更替,需要快速交接项目。
-
快速迭代的敏捷项目,需迅速生成和验证接口。