YApi--使用YApi的目的


​ 本篇旨在让相关开发人员理解引入 yapi 的目的以及对 mock 测试和 yapi 的功能有宏观的了解。

背景、现状、意义

​ 目前公司内涉及到云端和客户端(APP和web)的对接开发,都是客户端通过调用服务端提供的API获取相关数据或者借由云端执行相关指令。如果将云端的返回响应信息全部看作是数据的话,那么这一过程就可以抽象成图1.1所示:

                                                                  
​ 所以在项目开发的时候,理想状态是作为数据提供端的服务端只要拟定好API文档,然后客户端和服务端即可针对该文档分别开发,最终两端分别开发完成,然后对接进行实际测试即可。

​ 但是实际上,这一过程中会出现很多问题,比如:

  • 客户端先完成了所有功能的开发,但是服务端还未完成,此时就会产生阻塞。
  • 客户端需要测试某些API,但是服务器端还未完成,导致测试不了。
  • 客户端需要测试某个API的边界条件、正常条件、异常条件,需要服务器端进行大量的配合,耦合较大。
  • 服务器端开发完某项API后,需要进行测试,但是客户端还未完成。此时只能通过 postman 等工具进行测试,当请求参数特别多的时候,构造一个请求浪费时间。而且在服务端制定API文档的时候已经输入过这些参数了,这里测试时又要写一遍,产生大量重复工作。

​ 以上问题出现在了目前项目的不同阶段上,核心的问题是三点:耦合,重复,阻塞。恰恰在软件开发中,一个设计良好的软件包括其软件系统都是尽力的去避免产生耦合,尽量的复用,并引入多种非阻塞机制。

​ 所以,我们需要一个API管理平台,其提供的能力能够解决上述问题。通过多方调研和尝试,我们最终选择了使用 yapi 作为接口管理平台。

mock测试

​ 图1.1中,对客户端来说并不在乎到底 数据提供者 是谁,只要其能够对客户端发起的请求返回对应的数据即可。所以如果构造一个"假"的服务端,该服务端实际上不和数据库等进行对接,只是能够针对客户端发起的不同请求返回相关数据,那么对于客户端来说,就可以认为服务端是真实存在的。

​ 简单的例子,如果我开发了一个服务端程序,该程序提供两个功能:

  • 可根据传入的用户ID返回用户的年龄(每次请求,年龄值随机产生)
  • 可根据开发者的配置,将随机产生的年龄值限定在一个范围内。

​ 此时,客户端开发者可以直接传入一个用户ID,随后收到随机产生的年龄值响应。或者开发者利用第二个功能对年龄进行配置,设置成 0<年龄<120,那么再次请求时就会收到一个年龄在设置范围内的响应,而不会收到500岁这种响应值。

​ 上述的过程就是描述了一个最简单的 mock 测试的过程,其中:

  • 开发的服务端称为:mock 服务器(mock server)
  • 整体过程称为:mock 测试
  • 配置随机产生的年龄,这一(些)方法可以称为:mock 脚本
  • 简单情况下,比如客户端传入一个用户ID,只需要收到固定的90岁,此时构造的返回值就可以称为:mock 期望

yapi

前言中已经把核心的东西说了,那么 yapi 到底是什么?个人将其分为三大功能:

  • mock 服务器:比前言例子中的高级的许多,但是基本概念是一样的
  • API接口在线管理
  • 基于项目的管理

这三大块功能组合起来就是 yapi 。

基于项目的管理

核心三点:

  • 可以将成员拉入某个(些)项目中,并对成员角色进行分配
  • 全局环境配置:比如该项目的生产环境请求地址和测试环境请求地址;再比如该项目各个API通用的请求头设置
  • 其他全局配置

在每个项目中将服务端开发者设置为项目组长权限,然后客户端开发者设置为开发者权限

API接口管理

仍然按照功能划分:

  • API接口的制定:该部分由服务器开发者制定,由于开发者权限也能够修改添加接口,所以此处注意,客户端开发者不应该针对接口进行操作。
  • 运行接口,即在线发起请求,可针对实际服务器地址发起请求
  • 自动化测试:这部分由服务器开发者负责构建
  • mock构建与测试:这部分主要由客户端开发者负责构建,即构建自己想要的 mock 数据

mock 服务器

不是显示存在的,而是对接到了API管理中的mock测试部分。

其 mock 的构建提供了 期望和脚本两种方式,期望返回的是固定值,脚本返回的更具有动态性。

使用

服务端使用路径

 

  1. 创建项目
  2. 配置环境
  3. 制定接口
  4. 编写测试集合

客户端使用路径

 

  1. 查看收到的项目
  2. 进入项目,针对API接口进行编程
  3. 需要一些测试数据的时候,对某个未完成或者已完成的API进行 mock 构建
  4. 需要从实际服务器查看响应时,可以在线运行某个已完成的API

 

03-08
### YAPI API文档管理平台介绍 YAPI 是一个功能强大、易于使用的接口管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务[^3]。该平台不仅涵盖了接口的创建、调试、测试以及文档生成等功能,还利用 Docker 容器化技术实现了便捷的跨操作系统部署和运行能力,极大地提升了团队协作和个人开发者的工作效率[^1]。 #### 平台特性概述 - **全面的功能覆盖**:支持从定义到发布的整个生命周期内的各项操作; - **高效的团队合作工具**:促进不同角色之间的沟通交流,减少误解误判的可能性; - **自动化程度高**:自动生成详细的 RESTful 或 GraphQL 风格的 API 文档,并能实时更新维护; - **灵活的数据模拟(Mock)**:允许快速构建虚拟的服务端响应来加速前端开发进度; ```json { "name": "User", "description": "用户信息查询接口", "method": "GET", "path": "/api/user/:id" } ``` 这段 JSON 片段展示了如何描述一个简单的 GET 请求路径 `/api/user/:id` 的基本信息,在实际应用中还可以加入更多细节如参数说明、返回值结构体等。 ### 使用教程 为了更好地理解 YAPI 的工作原理及其具体应用场景,下面将以几个典型场景为例来进行简单演示: #### 创建新项目与导入已有 API 列表 进入 YAPI 后可以通过点击左侧菜单栏中的“新建分组”,输入名称后保存即可完成项目的建立过程。对于已经存在的 API 文件,则可以选择批量上传的方式将其转换成可编辑的状态供后续处理。 #### 编辑单个 API 接口详情页 当需要修改某个特定接口的信息时,只需找到对应的记录并打开其专属页面就能看到所有关联字段等待完善补充。这里不仅可以调整 HTTP 方法类型(POST/PUT/PATCH)、URL 路径模式外,还能指定请求头设置、正文格式等内容。 #### 自动生成 API 文档 一旦完成了上述配置步骤之后,系统会自动依据设定好的模板渲染出一份美观大方且条理清晰的技术手册供查阅学习之用。此外也支持导出 PDF 格式的永久存档副本以便离线查看分享给其他相关人员审阅反馈意见。 #### 实施在线调用测试 除了静态展示之外更重要的是能够即时验证所编写逻辑是否正确无误。因此在每一个 API 记录下方都配备了一个简易版 Postman 类似的交互界面让用户轻松发起各种类型的网络请求从而直观感受预期效果的好坏差异之处。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值