mock数据无需等待,让前端独立于后端进行开发

概述

相对于其他同类的框架的实现,mock.js超出了我的意料。

基于 数据模板 生成模拟数据。

基于 HTML模板 生成模拟数据。

拦截并模拟 ajax 请求。

是的,mock.js只做上述的几件事,但做的足够出色。

简单来说,Mock数据就是借助一些后端来产生假数据返回给前端,让前端的业务流程可以跑下去。目前市面上也有很多工具专门做mock数据的,其实mockjs就是其中最有名的一款,DOClever同样对其进行了支持。

解决的问题

开发时,后端还没完成数据输出,前端只好写静态模拟数据。

数据太长了,将数据写在js文件里,完成后挨个改url。

某些逻辑复杂的代码,加入或去除模拟数据时得小心翼翼。

想要尽可能还原真实的数据,要么编写更多代码,要么手动修改模拟数据。

特殊的格式,例如IP,随机数,图片,地址,需要去收集。

超烂的破网速…

如何使用DOClever的Mock数据

比如,我们创建如下接口,我们看下我们实际result数据,如下图

我们把data下面的tid加个mock规则@num(1,100),如下图:

然后我们点击右上角的预览按钮,可以看到tid数字变为随机数字72了,如下图

基础

下面罗列了DOClever自身的一些mock规则:

@date 针对String类型,生成当前日期

@num(min,max) 针对Number类型,生成min到max范围之间的数字,比如@num(1,100)

@in(val1,val2,...) 针对String,Number类型,生成括号内的某一个值,比如@in(get,post,put,delete)

@img(width,height) 针对String类型,生成一个图片地址,如果填写@img,那么图片默认就是600x400

@null 针对String,Number,Boolean,Mixed类型,生成null值

@arr 针对Mixed类型,生成一个数组,比如@arr([123,45])

@obj 针对Mixed类型,生成一个对象,比如@obj({"name":"aa"})

@count(min,max) 针对Array类型,确定生成数组的大小,比如@count(1,10)

@code 针对String,Number,Boolean,Mixed类型,会执行自定义的代码并返回结果,比如@code(body["aa"])这个就会返回body参数里key为aa的值,有以下几个内置对象:param,query,header,body,global(global里面还有以下几个成员:name,baseurl,path,method)

如果不是以@字符开头的话 就直接生成你输入的那个值,当类型不匹配的时候会尝试去做类型转换

@mj 针对String,Number,Boolean,Mixed类型,提供对mockjs的支持,有两种写法,一种是@mj(DPD),例如@mj(@email),表示生成一个随机的email,还有一种是@mj({@DTD:@DPD}),例如:@mj({"3","a"}),表示生成"aaa",具体的语法规则可以参考mockjs的官网

你可能感兴趣的:(mock数据无需等待,让前端独立于后端进行开发)