yapi上个接口返回数据当做参数_yapi中使用json-schema mock数据

1. 基本的json-schema mock

首先,我们建立一个简单的json-schema,如下图所示:

2d5dce8b9c76

image

该schema定义了一个返回结构,包括两个字段,data为string类型,code为integer类型。

点击“预览”,可以看到类似下面的mock数据:

{

"data": "non id",

"code": -12100200

}

这就是最基本的mock, 即根据数据类型返回随机串。

2. 设置默认值

将1中图示的字段后的mock部分填入字串,即可为字段设置默认值。

2d5dce8b9c76

image

如上图所示,我们将data的默认值设为this is data; 将code的默认值设为1。在这种情况下,接口的返回值将始终为:

{

"data": "this is data",

"code": 1

}

注意,如果默认值与所设字段类型不匹配,相应字段的接口返回值将为null。

比如上例中,code为integer类型,若将默认值设为"this is number"。接口返回值将为:

{

"data": "this is data",

"code": null

}

3. 基于mockjs占位符的mock

3.1 什么是占位符

这个概念来源于mockjs, 可以将其简单理解为用于生成特定字串的函数, 具体可参见mockjs官方定义。不过此处并不支持mockjs中所有占位符功能,大概只相当于Mock.Random部分。

3.2 使用占位符

点击数据字段后的mock框,可以看到支持的占位符列表。如下图所示:

2d5dce8b9c76

image

我们将data选为@ip, 点击预览可以看到接口返回值如下:

{

"data": "223.111.85.247",

"code": 1

}

data将是一个满足ip规则的串。

3.3 常用占位符功能详述

@integer(min?, max?)

返回一个随机的整数。

min:可选参数,整数最小值。

max:可选参数,整数最大值。

例:

@integer

//--> 1686805249110932

@integer(10,100)

//--> 26

@float( min?, max?, dmin?, dmax? )

返回一个随机浮点数。

min:可选,整数部分最小值。

max:可选,整数部分最大值。

dmin:可选,小数部分最小长度。

dmax:可选,小数部分最大长度。

例:

@float

//--> 1924364975802932.5

@float(60, 100, 2, 6)

//--> 68.1258

@string

返回随机字串,有如下几种使用方式:

@string

@string(length)

@string(pool, length)

@string(min, max)

@string(pool, min, max)

length: 字串长度

min: 字串最短长度

max: 字串最大长度

pool:表示字符池。如果传入 'lower'、'upper'、'number'或'symbol',表示从内置的字符池从选取。对应关系如下:

lower: "abcdefghijklmnopqrstuvwxyz",

upper: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",

number: "0123456789",

symbol: "!@#$%^&*()[]"

例:

@string(6)

//--> kV(qj4

@string('upper',2,6)

//--> NJKU

@string('123abc!@#', 2,6)

//--> #ab!21

@url(protocol?, host?)

随机生成一个 URL。

protocol:指定 URL 协议。例如 http。

host:指定URL域名和端口号。

例:

@url('https', '123.sogou.com')

//--> https://123.sogou.com/ccdkttr

@ip

随机生成一个IP地址。

@timestamp

返回当前unix时间戳

@datetime(format?)

返回一个随机的日期和时间字符串。

format:生成的日期和时间字符串的格式。默认值为yyyy-MM-dd HH:mm:ss。

例:

@datetime()

//--> 1977-11-17 03:50:15

@datetime('y-M-d H:m:s')

//--> 02-4-23 2:49:40

@pick(arr)

从数组中随机选取一个元素,并返回。

例:

@pick(['this', 'is', 'picker', 'test'])

//--> picker

3.4 更多

更多占位符使用可参见下述文档

https://github.com/nuysoft/Mock/wiki/Mock.Random

http://mockjs.com/examples.html#DPD

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
评论

打赏作者

桥头瞎子

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值