Open-Federation / json-schema-editor-visual

A json-schema editor of high efficient and easy-to-use, base on React.
https://hellosean1025.github.io/json-schema-visual-editor/
MIT License
997 stars 220 forks source link

mock 文档 #38

Open hellosean1025 opened 4 years ago

hellosean1025 commented 4 years ago

基本书写方式为 mock 的数据占位符@xxx, 具体字段详见 Mockjs 官网

如果不是以@字符开头的话或者匹配不到Mockjs中的占位符就会直接生成输入 image

simonclouds commented 4 years ago

怎么写,mock 都不生效。

image

Mock.mock({
  "number|1-100": 100
})
{
  "number|1-100": 100
}
"number|1-100": 100

使用了上面三种方式,在预览的时候,这个字段都给生成了 null。请问正确的写法应该是怎样的?

JoyseeKing commented 3 years ago

用数据占位符能获取请求中的body的参数吗?

Umenezumi commented 3 years ago

怎么写,mock 都不生效。

image

Mock.mock({
  "number|1-100": 100
})
{
  "number|1-100": 100
}
"number|1-100": 100

使用了上面三种方式,在预览的时候,这个字段都给生成了 null。请问正确的写法应该是怎样的?

你好,这个问题你解决了吗?

changyuan commented 3 years ago

@integer(1,100)

xwLyc commented 3 years ago

固定的值怎么写,比如我只需要 2,4,6 这三个值

Umenezumi commented 3 years ago

固定的值怎么写,比如我只需要 2,4,6 这三个值

use custom placeholders(@even)to gen mock data

Mock.Random.extend({
    even() {
        return this.pick([
            2,4,6
        ]);
    }
})
xwLyc commented 3 years ago

固定的值怎么写,比如我只需要 2,4,6 这三个值

use custom placeholders(@even)to gen mock data

Mock.Random.extend({
    even() {
        return this.pick([
            2,4,6
        ]);
    }
})

image 这样就可以了

lengshanwlj commented 3 years ago

怎么写,mock 都不生效。

image

Mock.mock({
  "number|1-100": 100
})
{
  "number|1-100": 100
}
"number|1-100": 100

使用了上面三种方式,在预览的时候,这个字段都给生成了 null。请问正确的写法应该是怎样的?

用占用符的方式 @integer(1,1000)

ryuhi commented 3 years ago

数据类型,mock为natural,在高级设置了做了最大值最小值的设置,如下图 image 结果,运行时,模拟数据超过了预定的范围 image 请帮忙看看是什么情况

jwchenOwl commented 3 years ago

数据类型,mock为natural,在高级设置了做了最大值最小值的设置,如下图 image 结果,运行时,模拟数据超过了预定的范围 image 请帮忙看看是什么情况

我们使用的时候也发现了这个问题,最后解决的方法是放弃 json-schema 限定模拟数量上下限

ryuhi commented 3 years ago

数据类型,mock为natural,在高级设置了做了最大值最小值的设置,如下图 image 结果,运行时,模拟数据超过了预定的范围 image 请帮忙看看是什么情况

我们使用的时候也发现了这个问题,最后解决的方法是放弃 json-schema 限定模拟数量上下限

多谢啦

Ximena-con commented 3 years ago

怎么指定返回的日期是连续递增的呢,期待回答,谢谢

wiexin commented 3 years ago

image 像这种语法 在yapi上该如何实现

Jasonsey commented 3 years ago

假如一个字段包含多个类型,我应该怎么配置mock类型,例如这个字段既是string,又是null

{
  "type": "string|null"
}

上面这样吗?

zhoulujun commented 2 years ago

怎么写,mock 都不生效。

image

Mock.mock({
  "number|1-100": 100
})
{
  "number|1-100": 100
}
"number|1-100": 100

使用了上面三种方式,在预览的时候,这个字段都给生成了 null。请问正确的写法应该是怎样的?

mock 规则里面只能用占位符吗? 不能自定义mock规则吗?

qingun commented 2 years ago

@increment占位符如何使用?在使用@increment占位符时,如何使数据从1开始增加?

waveBoom commented 2 years ago

怎么写,mock 都不生效。 image

Mock.mock({
  "number|1-100": 100
})
{
  "number|1-100": 100
}
"number|1-100": 100

使用了上面三种方式,在预览的时候,这个字段都给生成了 null。请问正确的写法应该是怎样的?

mock 规则里面只能用占位符吗? 不能自定义mock规则吗?

同问,在编辑mock框里头,填mock语法,预览字段显示null

xiyuvi commented 2 years ago

请教一下,怎么生成空字符串,怎么生成null

zhangkunran commented 1 year ago

金额怎么写?

weiwei5c5 commented 1 year ago

@simonclouds @lengshanwlj @ryuhi @changyuan @zhoulujun 我使用yapi进行api的管理,当我在想获取url中的参数时,我也遇到了你们一样的问题,在编辑->返回数据设置中进行mock的书写不成功,最后当我看到yapi官网中高级Mock->Mock 期望时,进行Mock期望的设置后成功获取url中的参数了!希望这对你们的疑惑有帮助。

Mock 期望 在测试时,很多时候需要根据不同的请求参数、IP 返回不同的 HTTP Code、HTTP 头和 JSON 数据。 Mock 期望就是根据设置的请求过滤规则,返回期望数据。

具体步骤如下:

  1. 点击高级Mock
  2. 添加期望
  3. 在响应中的Body可以进行mock的书写 image

希望以上的回答对你们有帮助!

Megasu commented 1 year ago

Mark

Damon-zjh commented 1 year ago

怎么写,mock 都不生效。 image

Mock.mock({
  "number|1-100": 100
})
{
  "number|1-100": 100
}
"number|1-100": 100

使用了上面三种方式,在预览的时候,这个字段都给生成了 null。请问正确的写法应该是怎样的?

mock 规则里面只能用占位符吗? 不能自定义mock规则吗?

同问,在编辑mock框里头,填mock语法,预览字段显示null

同问,有人能回答一下吗?怎么才能写function?

Damon-zjh commented 1 year ago

Mock.mock(function(){ let now= new Date(); now.setTime(now.getTime()-12460601000); let sub=now; var year = sub.getFullYear()<10?'0'+sub.getFullYear():sub.getFullYear(); var month = sub.getMonth() + 1<10?'0'+sub.getMonth():sub.getMonth(); var day = sub.getDate()<10?'0'+sub.getDate():sub.getDate(); return year+'-'+month+'-'+day; }) 想让这个mock生效应该怎么写?

lilizh commented 11 months ago

怎么写,mock 都不生效。 image

Mock.mock({
  "number|1-100": 100
})
{
  "number|1-100": 100
}
"number|1-100": 100

使用了上面三种方式,在预览的时候,这个字段都给生成了 null。请问正确的写法应该是怎样的?

mock 规则里面只能用占位符吗? 不能自定义mock规则吗?

同问,在编辑mock框里头,填mock语法,预览字段显示null

同问,有人能回答一下吗?怎么才能写function?

yapi返回数据设置中,json-schema中的mock只支持数据占位符定义,要想数据模板定义可以关掉 shcema,直接用json

beetle-p commented 1 week ago

怎么写,mock 都不生效。

image

Mock.mock({
  "number|1-100": 100
})
{
  "number|1-100": 100
}
"number|1-100": 100

使用了上面三种方式,在预览的时候,这个字段都给生成了 null。请问正确的写法应该是怎样的?

如果是数值的话,这样使用 @integer(1,100)