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的官网

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • 题目:前后端分离-独立于后端的前端开发简介:如何构建 Web 前端 Mock Server 前后端分离真实数据模拟...
    神刀阅读 1,163评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,754评论 18 399
  • 二十多年前我在西北的乡村中学教书,那时候,学生学得轻松,老师教得也轻松。 学生学的轻松,是因为除了各科课本,学生基...
    一片花田阅读 1,782评论 1 2
  • 那样贴身的享受,以前不曾有过。 多少年里,我始终在一般生活的水准上,消费太高的地方,有一种本能的抗拒,总觉得那不是...
    花雨凤飞H阅读 514评论 3 2