首先,我们建立一个简单的json-schema,如下图所示:
该schema定义了一个返回结构,包括两个字段,data为string类型,code为integer类型。 点击“预览”,可以看到类似下面的mock数据:
{
"data": "non id",
"code": -12100200
}
这就是最基本的mock, 即根据数据类型返回随机串。
将1中图示的字段后的mock部分填入字串,即可为字段设置默认值。
如上图所示,我们将data的默认值设为this is data; 将code的默认值设为1。在这种情况下,接口的返回值将始终为:
{
"data": "this is data",
"code": 1
}
注意,如果默认值与所设字段类型不匹配,相应字段的接口返回值将为null。
比如上例中,code为integer类型,若将默认值设为"this is number"。接口返回值将为:
{
"data": "this is data",
"code": null
}
这个概念来源于mockjs, 可以将其简单理解为用于生成特定字串的函数, 具体可参见mockjs官方定义。不过此处并不支持mockjs中所有占位符功能,大概只相当于Mock.Random部分。
点击数据字段后的mock框,可以看到支持的占位符列表。如下图所示:
我们将data选为@ip, 点击预览可以看到接口返回值如下:
{
"data": "223.111.85.247",
"code": 1
}
data将是一个满足ip规则的串。
返回一个随机的整数。
例:
@integer
//--> 1686805249110932
@integer(10,100)
//--> 26
返回一个随机浮点数。
例:
@float
//--> 1924364975802932.5
@float(60, 100, 2, 6)
//--> 68.1258
返回随机字串,有如下几种使用方式:
@string
@string(length)
@string(pool, length)
@string(min, max)
@string(pool, min, max)
lower: "abcdefghijklmnopqrstuvwxyz",
upper: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
number: "0123456789",
symbol: "!@#$%^&*()[]"
例:
@string(6)
//--> kV(qj4
@string('upper',2,6)
//--> NJKU
@string('123abc!@#', 2,6)
//--> #ab!21
随机生成一个 URL。
例:
@url('https', '123.sogou.com')
//--> https://123.sogou.com/ccdkttr
随机生成一个IP地址。
返回当前unix时间戳
返回一个随机的日期和时间字符串。
例:
@datetime()
//--> 1977-11-17 03:50:15
@datetime('y-M-d H:m:s')
//--> 02-4-23 2:49:40
从数组中随机选取一个元素,并返回。
例:
@pick(['this', 'is', 'picker', 'test'])
//--> picker
更多占位符使用可参见下述文档
https://github.com/nuysoft/Mock/wiki/Mock.Random
http://mockjs.com/examples.html#DPD