MockJs的使用

MockJs的使用

1 Mock.js的语法规范

Mock.js的语法规范包括两部分:
1 数据模板定义规范
2 数据占位符定义规范

1.1 数据模板定义规范

数据模板中的每个属性由三部分组成:属性名、生成规则、属性值。

//属性名 name 
 // 生成规则 rule // 
 //属性值 value 
 'name|rule':value

注意:
1 属性名和生成规则之间用|分隔。
2 生成规则是可选的。
3 生成规则有7种格式:


1 'name|min-max':value
2 'name|count':value
3 'name|min-max.dmin-dmax':value
4 'name|min-max.dcount':value
5 'name|count.dmin-dmax':value
6 'name|count.dcount':value
7 'name|+step':value

4 生成规则的含义需要依赖属性值的类型才能确定
5 属性值中可以含有@占位符
6 属性值还指定了最终值的初始值和类型

1.1.1 生成规则示例

1 属性值是字符串String

'name|min-max':String
//通过重复String生成一个字符串,重复次数大于等于min,小于等于max

2 属性值是数字Number

1 'name|+1':number
 属性值自动加1,初始值为number
 2 'name|min-max':number
 生成一个大于等于min、小于等于max的整数,属性值number只是用来确定类型
 3 'name|min-max.dmin-dmax':number
 生成一个浮点数,整数部分大于等于min、小于等于max,小数部分保留到dmin到dmax位

3 属性值是布尔型Boolean

1 'name|1':boolean
随即生成一个布尔值,值为true的概率为1/2
2 'name|min-max':value
随机生成一个布尔值,值为value的概率为min/(min+max),值为!value的概率为max/(min+max)

4 属性值是对象Object

1 'name|count':object
从属性值object中随机选取count个属性
2 'name|min-max':object
从属性值object中随机选取min-max个属性

5 属性值是数组Array

1 'name|1':array
从属性值array中随机选取一个元素作为最终值
2 'name|+1':array
从属性值array中顺序选取1个元素作为最终值
3 'name|min-max':array
通过重复属性值array生成一个新的数组,重复次数大于等于min,小于等于max
4 'name|count':array
通过重复属性值array生成一个新的数组,重复次数为count

6 属性值是函数Function

1 'name':function
执行函数function,取其返回值作为最终的属性值,函数的上下文为属性'name'所在的对象

7 属性值是正则表达式

'name':regexp

1.2 数据占位符定义规范

占位符只是在属性字符串中占个位置,并不出现在最终的属性值中
占位符的格式为:

@占位符
@占位符(参数[,参数])

注意:
用@来标识其后的字符串是占位符。
占位符引用的是Mock.Random中的方法
通过Mock.Random.extend()来扩展自定义占位符
占位符也可以引用数据模板中的属性
占位符会优先引用数据模板中的属性
占位符支持相对路径和绝对路径

Mock.mock({
    name: {
        first: '@FIRST',
        middle: '@FIRST',
        last: '@LAST',
        full: '@first @middle @last'
    }
})
// =>
{
    "name": {
        "first": "Charles",
        "middle": "Brenda",
        "last": "Lopez",
        "full": "Charles Brenda Lopez"
    }
}
上一篇:Spring Boot多数据源配置之Template


下一篇:Spring JdbcTemplate之使用详解