用ApiFox MCP一键生成接口文档,做接口测试

日常开发过程中,尤其是针对长期维护的老旧项目,许多开发者都会遇到一系列相同的困扰:由于项目早期缺乏严格的开发规范和接口管理策略,导致接口文档缺失,甚至连基本的接口说明都难以找到。此外,由于缺乏规范化的接口测试,项目维护人员不得不耗费大量时间理解代码逻辑,进而手动验证接口功能。这种状态不仅降低了开发效率,还严重影响了项目交接的顺利进行。

今天在cursor中通过ApiFox MCP工具,一键获取接口信息,一键实现接口测试,从而大幅提高接口管理效率。

一、老旧接口面临的典型问题

老旧接口在开发和维护中面临以下突出问题:

  1. 文档缺失或不全: 在项目早期,由于开发节奏快,缺乏严格的接口文档规范,导致后期维护人员难以快速掌握接口功能与调用方式。

  2. 接口测试缺失: 老旧项目的接口通常没有对应的自动化测试脚本,测试往往依靠手工操作,不仅效率低下,也容易遗漏细节问题。

  3. 维护难度高: 缺乏清晰的接口文档和有效的测试手段,使得后续维护人员需要花费大量时间阅读代码和调试接口。

这些问题在长期维护项目中尤为明显,使得开发维护成本持续攀升。

二、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值。

Alt text

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工具,我们能够:

  1. 效率显著提高: 接口文档和测试脚本自动生成,省去了大量手动撰写文档和人工测试的时间。

  2. 接口质量稳步提升: 自动化测试脚本有效减少了人工测试的遗漏,接口质量得到保障。

  3. 维护成本降低: 清晰易读的自动生成文档使得新成员快速上手,大幅降低了知识传递成本。

五、ApiFox MCP应用场景

ApiFox MCP尤其适用于以下场景:

  • 老旧项目的维护与升级。

  • 团队人员频繁更替,需要快速交接项目。

  • 快速迭代的敏捷项目,需迅速生成和验证接口。

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

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

相关文章

26考研 | 王道 | 计算机组成原理 | 三、存储系统

26考研 | 王道 | 计算机组成原理 | 三、存储系统 文章目录 26考研 | 王道 | 计算机组成原理 | 三、存储系统3.1 存储系统基本概念3.2 主存储器1. 主存储器的基本组成2. SRAM与DRAM1.DRAM和SRAM对比2.DRAM的刷新3.DRAM的地址线复用技术 3. 只读存储器ROM4.双端口RAM和多模块存储…

IDEA 开发PHP配置调试插件XDebug

1、安装PHP环境 为了方便,使用的PhpStudy。 安装路径:D:\resources\phpstudy_pro\Extensions\php\php7.3.4nts 2、下载Xdebug Xdebug: Downloads 选择对应的版本下载,本次使用的是7.3。 3、配置Xdebug 在php.ini中添加Xdebug配置。 D…

Go 语言的 GC 垃圾回收

序言 垃圾回收(Garbage Collection,简称 GC)机制 是一种自动内存管理技术,主要用于在程序运行时自动识别并释放不再使用的内存空间,防止内存泄漏和不必要的资源浪费。这篇文章让我们来看一下 Go 语言的垃圾回收机制是如…

60天python训练计划----day45

DAY 45 Tensorboard使用介绍 知识点回顾: tensorboard的发展历史和原理tensorboard的常见操作tensorboard在cifar上的实战:MLP和CNN模型 之前的内容中,我们在神经网络训练中,为了帮助自己理解,借用了很多的组件&#x…

RocketMQ基础概念的理解

1、生产者 生产者和主题之间存在多对多关系。一个生产者可以向多个主题发送消息,一个主题可以接收来自多个生产者的消息。这种多对多关系有助于提高性能扩展和灾难恢复能力。 2、消费者以及消费者组 一个队列可以被多个消费者(其中这多个消费者必须分…

Flash烧录速度和加载配置速度(纯FPGA ZYNQ)

在工程综合完成或者implement完成后,打开综合设计或者实现设计。 toots--->Edit Device Properties--->打开比特流设置 将bitstream进行压缩 上图中,时钟频率选择的档位有限,最大为66MHZ io的bus width可以设置为x1,x2,x4 vivado在设计…

优化09-表连接

一、表连接介绍 表连接类型 表连接是关系型数据库关键特性,在关系型数据库中,表连接分为三类:循环嵌套连接(Nested Loops Join)、哈希连接(Hash Join)、合并排序连接(Merge Sort J…

Dify工作流实践—根据word需求文档编写测试用例到Excel中

前言 这篇文章依赖到的操作可查阅我之前的文章: dify里的大模型是怎么添加进来的:在Windows本地部署Dify详细操作 flask 框架app.route()函数的开发和调用:PythonWeb开发框架—Flask工程创建和app.route使用详解 结构化提示词的编写&…

AWTK 嵌入式Linux平台实现多点触控缩放旋转以及触点丢点问题解决

前言 最近涉及海图的功能交互,多点触摸又开始找麻烦。 在PC/Web平台awtk是通过底层的sdl2库来实现多点触摸,但是在嵌入式Linux平台,可能是考虑到性能原因,awtk并没有采用sdl库来做事件处理,而是自己实现一个awtk-lin…

Diffusion Planner:扩散模型重塑自动驾驶路径规划(ICLR‘25)

1. 概述 2025年2月14日,清华大学AIR智能产业研究院联合毫末智行、中科院自动化所和香港中文大学团队,在ICLR 2025会议上发布了Diffusion Planner——一种创新性的基于Diffusion Transformer的自动驾驶规划模型架构。该系统联合建模周车运动预测与自车行…

ESP32对接巴法云实现配网

目录 序言准备工作巴法云注册与使用Arduino准备 开发开始配网 序言 本文部分内容摘抄原创作者巴法云-做优秀的物联网平台 代码有部分修改并测试运行正常 巴法云支持免费用户通过开发对接实现各智能音箱设备语音控制智能家居设备,并有自己的App进行配网和控制&…

深度学习习题3

1.训练神经网络过程中,损失函数在一些时期(Epoch)不再减小, 原因可能是: 1.学习率太低 2.正则参数太大 3.卡在了局部最小值 A1 and 2 B. 2 and 3 C. 1 and 3 D. 都是 2.对于分类任务,我们不是将神经网络中的随机权重…

【EasyExcel】导出时添加页眉页脚

一、需求 使用 EasyExcel 导出时添加页眉页脚 二、添加页眉页脚的方法 通过配置WriteSheet或WriteTable对象来添加页眉和页脚。以下是具体实现步骤: 1. 创建自定义页眉页脚实现类 public class CustomFooterHandler implements SheetWriteHandler {private final…

c++ 类型转换函数

测试代码&#xff1a; void testTypeTransfer() { // 测试类型转换函数class Distance {private:int meters;public:// 类型转换函数&#xff0c;int表示转化为int类型operator int() {std::cout << "调用了类型转换函数" << endl;return meters; }Dist…

Conda 基本使用命令大全

Conda 基本使用命令大全 Conda 是一个开源的包管理和环境管理系统&#xff0c;广泛用于 Python 开发、数据科学和机器学习。以下是 最常用的 Conda 命令&#xff0c;涵盖环境管理、包安装、配置等核心操作。 1. 环境管理 创建环境 conda create --name myenv # 创…

基于SpringBoot和PostGIS的OSM时空路网数据入库实践

目录 前言 一、空间表的设计 1、属性信息 2、空间表结构设计 二、路网数据入库 1、实体类设计 2、路网数据写入 3、pgAdmin数据查询 三、总结 前言 在当今数字化时代&#xff0c;随着信息技术的飞速发展&#xff0c;地理空间数据的应用范围越来越广泛&#xff0c;尤其是…

代付入账是什么意思?怎么操作?

代付入账就是指商户委托银行通过企业银行账户向指定持卡人账户划付款项&#xff0c;款项划入指定账户即为入账。 具体操作流程如下&#xff1a; 1. 向第三方支付公司指定账户充值加款。 2. 通过操作后台提交代付银行卡信息。 3. 第三方支付公司受理业务申请。 4. 第三方审…

数学复习笔记 27

前言 太难受了。因为一些事情。和朋友倾诉了一下&#xff0c;也没啥用&#xff0c;几年之后不知道自己再想到的时候&#xff0c;会怎么考虑呢。另外&#xff0c;笔记还是有框架一点比较好&#xff0c;这样比较有逻辑感受。不然太乱了。这篇笔记是关于线代第五章&#xff0c;特…

第四十五天打卡

知识点回顾&#xff1a; tensorboard的发展历史和原理 tensorboard的常见操作 tensorboard在cifar上的实战&#xff1a;MLP和CNN模型 效果展示如下&#xff0c;很适合拿去组会汇报撑页数&#xff1a; 作业&#xff1a;对resnet18在cifar10上采用微调策略下&#xff0c;用tensor…

使用高斯朴素贝叶斯算法对鸢尾花数据集进行分类

高斯朴素贝叶斯算法通常用于特征变量是连续变量&#xff0c;符合高素分布的情况。 使用高斯朴素贝叶斯算法对鸢尾花数据集进行分类 """ 使用高斯贝叶斯堆鸢尾花进行分类 """ #导入需要的库 from sklearn.datasets import load_iris from skle…