Apifox の MCP亮相,api能否高效驱动开发,与cursor联调,实操

如何根据设计自动生成 API、模拟数据,并支持前后端分离开发的最佳方案,不少团队都在摸索中。

希望实现从 API 设计开始,自动生成 API 代码,然后创建模拟数据,支持前后端团队独立开发。这种需求常见于灵敏开发和微服务架构,旨在减少团队间的依赖,提高开发效率。

核心步骤包括:

  1. 根据设计(如 OpenAPI 规范)自动生成 API。
  1. 生成模拟数据,供前端开发使用。
  1. 确保前后端团队可以并行工作。

以下几种解决方案。

1. 集成平台:Apifox(https://www.apifox.cn/)

Apifox の MCP亮相,api能否高效驱动开发,与cursor联调,实操

Apifox 是一款中国开发的 API 开发平台,特别适合中文用户。其功能包括:

  • API 设计:提供可视化界面,无需手动编写 Markdown 或 YAML,零学习成本。支持 OpenAPI 导入导出,方便与现有项目集成。
  • 模拟功能:无需配置即可生成模拟数据,根据 API 结构和字段名自动创建“人性化”数据,适合快速原型开发。
  • 代码生成:支持自动生成 130 种语言和框架的业务代码(如服务器端实现)和 API 请求代码(如客户端 SDK),包括 TypeScript、Java、Go、Swift、Kotlin 等。用户还可以自定义代码模板。
  • 额外功能:支持 HTTP、TCP、RPC,数据导入导出(兼容 OpenAPI、Postman、HAR 等),CI/CD 集成(如 Apifox CLI、Jenkins),以及数据库操作用于 API 参数和断言。团队协作功能通过云同步和角色管理实现。

Apifox 的优势在于其零配置模拟和广泛的代码生成支持,特别适合国内团队快速启动项目。

2. 集成平台:SwaggerHub(https://swagger.io/tools/swaggerhub/)

Apifox の MCP亮相,api能否高效驱动开发,与cursor联调,实操

SwaggerHub 是基于 OpenAPI 标准的 API 开发平台,适合国际化和团队协作。其功能包括:

  • API 设计:使用 Swagger Editor 设计 API,支持实时协作和标准化。集成 Spectral、Pact 等工具,增强开发流程。
  • 模拟功能:通过 WireMock 等集成工具支持模拟服务器,基于 API 定义生成模拟响应。
  • 代码生成:虽然 SwaggerHub 页面未直接提及,但其基于 OpenAPI,结合 Swagger Codegen 可生成服务器存根和客户端 SDK,支持多种语言和框架。
  • 工具集成:支持 Git、GitLab、GitHub、AWS、Azure DevOps 等,适合大型项目。

SwaggerHub 适合跨国团队和需要标准化流程的项目。

3. 工具组合方案

如果用户偏好开源或免费工具,可以采用模块化方法,组合以下工具:

  • API 设计:使用 Swagger Editor 或 Stoplight Studio。Swagger Editor 是一个在线编辑器,支持 OpenAPI 规范设计;Stoplight Studio 提供可视化界面,适合团队协作。
  • 模拟数据:使用 Prism 或 Mockoon。Prism 是一个开源工具,可从 OpenAPI 规范生成模拟服务器;Mockoon 提供本地模拟服务器,易于配置。
  • 代码生成:使用 OpenAPI Generator,根据 OpenAPI 规范生成服务器代码(如 Spring Boot、Express)和客户端 SDK(如 JavaScript、Python)。

这种方法灵活,但可能需要更多手动集成工作。

以下表格对比三种方案的主要特点:

方案类型

工具/平台

API 设计

模拟功能

代码生成

适合场景

集成平台

Apifox

是(可视化)

是(零配置)

是(130+语言)

国内团队,快速原型开发

集成平台

SwaggerHub

是(OpenAPI)

是(通过 WireMock)

是(通过 Codegen)

国际团队,标准化流程

工具组合

Swagger Editor + Prism + OpenAPI Generator

开源爱好者,灵活定制

实施提议

  • 优先思考 Apifox,其中文界面和零配置模拟功能能显著降低学习曲线。
  • 对于国际项目或需要标准化流程的团队,SwaggerHub 是一个不错的选择,特别适合与 GitHub、AWS 等工具集成。
  • 如果预算有限或偏好开源,可以尝试工具组合方案,但需注意集成工作可能增加开发时间。

又是重大分隔线


今日,发现大瓜:apifox火热出炉MCP内测,正在邀请用户,实测不用邀请也可联调成功,大家尽可一试

使用 Apifox MCP Server,可以将 Apifox 项目内的接口文档作为数据源提供给 Cursor 等支持 AI 编程的 IDE 工具,以便让 AI 能够直接访问项目对应的接口文档数据。开发者可以通过 AI 助手完成各种充满想象力的工作:列如生成文档、直接生成前后端代码等等。

1.在 Apifox 生成 Access Token

a. 打开 Apifox,将鼠标悬停在页面右上角的头像上,点击 “账号设置 -> API 访问令牌”

b. 创建新的 API 访问令牌,详见协助文档

c. 拿到 API 访问令牌,替换下面配置文件中的 <access-token>

2.获取 Apifox 项目 ID

a. 打开 Apifox 里对应的项目

b. 在左侧边栏点击“项目设置”,在“基本设置”页面即可复制项目 ID

c. 拿到项目 ID,替换下面配置文件中的 <project-id>

3.配置 IDE将下面 JSON 配置添加到 IDE 对应的 MCP 配置文件里:

{
 "mcpServers": {
 "API 文档": {
 "command": "npx",
 "args": [
 "-y",
 "apifox-mcp-server@latest",
 "--project=<project-id>"
 ],
 "env": {
 "APIFOX_ACCESS_TOKEN": "<access-token>"
 }
 }
 }
}

如果使用 Windows 操作系统,而上文的配置文件无法正常工作,请使用如下配置文件:

{
 "mcpServers": {
 "API 文档": {
 "command": "cmd",
 "args": [
 "/c",
 "npx",
 "-y",
 "apifox-mcp-server@latest",
 "--project=<project-id>"
 ],
 "env": {
 "APIFOX_ACCESS_TOKEN": "<access-token>"
 }
 }
 }
}

Cursor:添加到全局的 ~/.cursor/mcp.json 或项目内的 .cursor/mcp.json

Windsurf:添加到
~/.codeium/windsurf/mcp_config.json

Cline:打开 Cline 面板 > MCP Server > Configure MCP Server

注意:

1.请将上面的 <access-token> 和 <project-id> 替换为你个人的 Apifox API 访问令牌和 Apifox 项目 ID。

2.配置文件里 MCP Server 名字提议填写类似“API 文档”或“xxx API 文档”这样的包含“API文档”字眼的名称,这样 AI 更容易正确的识别这个 MCP Server 的用途。不提议填写“Apifox”或“Apifox MCP”,这种写法 AI 不容易识别用途。

3.如果需要使用到多个项目的 API 文档,在配置文件里添加配置多个 MCP Server 即可(不同项目有不同的<project-id>), MCP Server 的名字填写“xxx API 文档”。

4.如果团队习惯将 MCP 配置文件同步到代码仓库里,提议删除配置里的”APIFOX_ACCESS_TOKEN”: “<access-token>”,改成每个成员在自己电脑里配置名为 APIFOX_ACCESS_TOKEN 的环境变量,以避免 APIFOX_ACCESS_TOKEN 泄漏问题。

5.使用私有化部署版本的用户,请在 IDE 的 MCP 的配置文件添加参数:”–apifox-api-base-url=<私有化部署服务器的 API 地址,以 http:// 或 https:// 开头>”。另外,请确保网络可以正常访问 www.npm.com。

如何使用

安装配置好 MCP 后,Apifox MCP Server 会自动读取 Apifox 整个项目里的所有接口文档的数据并缓存在本地电脑,AI 可以通过 MCP 读取项目内所有的接口的接口文档数据。你只要告知 AI 你想要通过 API 文档做什么即可,示例:

1.“通过 MCP 获取 API 文档,然后生成 Product 及其相关模型的定义代码”

2.“根据 API 文档,在 Product DTO 里添加 API 文档新增的几个字段”

3.“根据 API 文档给 Product 类的每个字段都加上注释”

4.“根据 API 文档,生成接口 /users 相关的所有 MVC 代码”

注意:接口文档数据默认是会缓存在本地的,如果 Apifox 内的数据有更新,请告知 AI 刷新接口文档数据,否则 AI 读到数据可能不是最新的。

继续分隔线


实操记录:

试用场景:新建项目p1,直接利用apifox新建项目时可初始化的一个示例数据,宠物管理

Apifox の MCP亮相,api能否高效驱动开发,与cursor联调,实操

Apifox の MCP亮相,api能否高效驱动开发,与cursor联调,实操

生成api访问令牌

Apifox の MCP亮相,api能否高效驱动开发,与cursor联调,实操

在cursor中配置apifox的mcp

Apifox の MCP亮相,api能否高效驱动开发,与cursor联调,实操

Apifox の MCP亮相,api能否高效驱动开发,与cursor联调,实操

接下来见证奇迹的时刻到了:

第一句话:直接要求mcp提供api信息

Apifox の MCP亮相,api能否高效驱动开发,与cursor联调,实操

Apifox の MCP亮相,api能否高效驱动开发,与cursor联调,实操

第二句话:直接要求根据api信息生成前后端代码

Apifox の MCP亮相,api能否高效驱动开发,与cursor联调,实操

Apifox の MCP亮相,api能否高效驱动开发,与cursor联调,实操

第三句话:自行理解api,生成PRD、设计文档等

Apifox の MCP亮相,api能否高效驱动开发,与cursor联调,实操

Apifox の MCP亮相,api能否高效驱动开发,与cursor联调,实操

Apifox の MCP亮相,api能否高效驱动开发,与cursor联调,实操

时间所限,本文不再描述后续的mock数据、前后端联调、流程、页面效果等。

apifox的MCP和ai coding全流程打通了,特别是如果后续能流畅实现双向打通,对软件项目开发是极大助力。

Apifox的敏锐嗅觉值得点赞!功能继续丰富值得期待!

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 共1条

请登录后发表评论