网站首页 > 文章精选 正文
前面文章已经搭建了本地的easy-mock
常见的Mock方式:
- 将模拟数据直接写在代码里
- 利用javascript拦截请求
- 利用Charles、Fiddler等工具拦截请求
以上方式各有千秋,我们要说的是使用Swager API Docs和easy-mock生成模拟数据
登录easy-mock创建项目
点击+号创建项目
填写项目信息
- 归属 :默认已经生成好了
- 项目名:与你的实际项目名一致,就可以了
- 项目基础URL:没有特殊要求,尽量简短表意,和你的项目保持一致就可了
- 项目描述:输入简短的项目描述
- Swagger Docs API:重要,输入Swagger描述文件URL,Easy Mock会自动基于此描述文档创建Mock接口
描述文件的URI可以从接口文档中找到,如图所示:
接口文档如图所示:
创建项目完成,自动生成了所有的Mock接口
预览接口
可以看到,自动生成并返回的Response数据,这个时候就可以完全脱离后端了,前端可以在后端还没有开发或开发不完善的情况下,使用该Mock数据也能完成前后端分离的调试
如下图所示:
前端只需发出如下图请求即可:
什么?不相信,我们试试!!
var baseUrl ="http://localhost:7300/mock/5eaaed4a7a3fdf16dc164663/mall" ;
var params = {
url: baseUrl +'/subject/list',//基础url拼接接口url
success: function (res) {//success为请求成功之后,会返回接口内容,打印res就能拿到
console.log(res);
},
error: function (error) {
console.log(error);
}
};
//以下是ajax请求过程
var xhr = new XMLHttpRequest();
// 定义xhr对象的请求响应事件
xhr.onreadystatechange = function() {
switch(xhr.readyState) {
case 0 :
//alert("请求未初始化");
break;
case 1 :
//alert("请求启动,尚未发送");
break;
case 2 :
//alert("请求发送,尚未得到响应");
break;
case 3 :
//alert("请求开始响应,收到部分数据");
break;
case 4 :
if((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {
var data = xhr.responseText;
params.success(JSON.parse(data));
}else {
var data = xhr.responseText;
params.error(JSON.parse(data));
}
break;
}
};
xhr.open("get", params.url, true);
xhr.send(JSON.stringify(params.data))
以下内容正是接口中编写的返回的内容:
编辑数据
以上的Mock数据有些可能是不符合我们要求的,需要修改,点击编辑数据
左侧是对数据对象的说明,在这里改成我们想要的数据即可,需要了解Moke.js语法
简单的举个栗子:
categoryId使用了正则表达式定义在了0-9范围内
查看返回的数据:这时的categoryId只能在0-9之间了,因为有正则表达式的约束。
更多的Mock.js语法查看文档:
https://github.com/nuysoft/Mock/wiki
一键模拟数据,让我们不再依赖后端,只专注前端的业务,等后端把接口写完之后,再进行联合调试就可以了,这样我们就不费吹灰之力搞定了所有难题。
猜你喜欢
- 2025-07-28 字节SOLO超详细实战测评!到底能否实现一行代码不写就上线?!
- 2025-07-28 深入浅出全栈工程师: 如何编写测试
- 2025-07-28 接口测试流程是怎样的?(接口测试入门教程)
- 2025-07-28 优酷质量保障系列(三)—移动端组件智能测试方案
- 2025-07-28 Array.from() 的 5 个神仙用法,彻底告别 for 循环初始化!
- 2025-07-28 前端开发的终局是"全栈"?从SSR到RSC,离"零API"开发还有多远?
- 2025-07-28 【Python神器】你可能忽视了的 itertools 模块
- 2025-07-28 程序员好物推荐之Yapi(程序员必备神器)
- 2025-07-28 手摸手,带你用vue撸后台(vue hook)
- 2025-07-28 写 Python 七年才发现的七件事:真正提高生产力的脚本思路
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)
- fmt.println (52)