Easy-Mock

  • Easy-Mock
    • Easy Mock 是一个极其简单、高效、可视化、并且能快速生成模拟数据的在线 mock 服务。都是用它来模拟数据的。

    • Easy-Mock的使用非常简单,甚至不需要下载什么东西,直接几张图就会了,主要是看一下语法部分

    • 语法

      • String

        'name|min-max': string

        数组:name:字符串名,min-max:头和尾

      • Number

        'name|+1': number

        ‘numbe=number-1’

        name|min-max': number

        随机一个min-max的数

        'name|min-max.dmin-dmax': number

        生成一个浮点数,整数部分大于等于 min、小于等于 max,小数部分保留 dmindmax

      • Boolean

        'name|1': boolean

        随机生成一个布尔值,值为 true 的概率是 1/2,值为 false 的概率同样是 1/2

        'name|min-max': value

        随机生成一个布尔值,值为 value 的概率是 min / (min + max),值为 !value 的概率是 max

      • Object

        'name|count': object

        从属性值 object 中随机选取 count 个属性。

        'name|min-max': object

        从属性值 object 中随机选取 minmax 个属性

      • Array

        'name|1': array

        从属性值 array 中随机选取 1 个元素,作为最终值

        'name|+1': array

        从属性值 array 中顺序选取 1 个元素,作为最终值

        'name|min-max': array

        通过重复属性值 array 生成一个新数组,重复次数大于等于 min,小于等于 max

        'name|count': array

        通过重复属性值 array 生成一个新数组,重复次数为 count

      • Function

        'name': function

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

      • RegExp

        'name': regexp

        根据正则表达式 regexp 反向生成可以匹配它的字符串。用于生成自定义格式的字符串

      • 占位符

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

  • Mock.mock

    • 根据数据模板生成模拟数据

      • Mock.mock( rurl, template )

      • 记录数据模板。当拦截到匹配 rurl 的 Ajax 请求时,将根据数据模板 template 生成模拟数据,并作为响应数据返回

      • Mock.mock( rurl, function( options ) )

        记录用于生成响应数据的函数。当拦截到匹配 rurl 的 Ajax 请求时,函数 function(options) 将被执行,并把执行结果作为响应数据返回

      • Mock.mock( rurl, rtype, template )

        记录数据模板。当拦截到匹配 rurlrtype 的 Ajax 请求时,将根据数据模板 template 生成模拟数据,并作为响应数据返回

  • Mock.setup( settings )

    • 配置拦截 Ajax 请求时的行为

      • 指定被拦截的 Ajax 请求的响应时间,单位是毫秒
  • Mock.Random

    • 是一个工具类,用于生成各种随机数据

    • Mock.Random 中的方法与数据模板的 @占位符 一一对应,在需要时还可以为 Mock.Random 扩展方法,然后在数据模板中通过 @扩展方法 引用

      Random.extend({ constellation: function(date) { var constellations = ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座', '水瓶座', '双鱼座'] return this.pick(constellations) } }) Random.constellation() // => "水瓶座" Mock.mock('@CONSTELLATION') // => "天蝎座" Mock.mock({ constellation: '@CONSTELLATION' }) // => { constellation: "射手座" }

    • TypeMethod
      Basicboolean, natural, integer, float, character, string, range, date, time, datetime, now
      Imageimage, dataImage
      Colorcolor
      Textparagraph, sentence, word, title, cparagraph, csentence, cword, ctitle
      Namefirst, last, name, cfirst, clast, cname
      Weburl, domain, email, ip, tld
      Addressarea, region
      Helpercapitalize, upper, lower, pick, shuffle
      Miscellaneousguid, id
  • Mock.valid( template, data )

    • var template = { name: 'value1' } var data = { name: 'value2' } Mock.valid(template, data) // => [ { "path": [ "data", "name" ], "type": "value", "actual": "value2", "expected": "value1", "action": "equal to", "message": "[VALUE] Expect ROOT.name'value is equal to value1, but is value2" } ]

  • Mock.toJSONSchema( template )

    • 把 Mock.js 风格的数据模板 template 转换成 JSON Schema

    • 小结一下

    • 这个easy-mock感觉就是一个随机的数据生成器一样,他可以随机很多的数据当然也可以自己定义,然后做成一个api,当实验数据使用。还有感觉处处都可以随机。

### Easy-Mock 使用教程及相关技术信息 #### 安装与部署 Easy-Mock 是一款用于快速生成模拟数据的服务工具,支持持久化存储并提供可视化界面[^1]。为了方便开发者使用,可以通过 Docker 进行安装和运行。具体操作如下: 通过 Docker 部署 Easy-Mock 的命令如下所示: ```bash docker pull easymock/easymock docker run -d --name easy-mock -p 8000:7300 easymock/easymock ``` 完成容器启动后,访问 `http://localhost:8000` 即可进入 Easy-Mock 的管理页面[^3]。 --- #### 创建项目与配置接口 在 Easy-Mock 中创建一个新的项目后,可以手动定义 API 接口或者从 Swagger 导入现有文档。以下是导入 Swagger 文档的具体流程: 1. 在 Easy-Mock 控制台中新建一个项目; 2. 转至项目的 **Swagger 同步** 页面; 3. 将目标 Swagger 文档的 URL 填写到对应字段中; 4. 点击保存按钮以实现自动同步接口列表。 此功能极大地简化了开发人员的工作量,使得测试环境下的接口调用更加便捷高效。 --- #### 数据函数与动态响应 Easy-Mock 支持基于 JSON Schema 自定义返回值逻辑,允许用户编写 JavaScript 函数来处理请求参数并生成复杂的数据结构[^4]。下面是一个典型的例子展示如何利用内置库 Mock.js 构建灵活的响应体: 假设我们需要设计一个 GET 请求 `/api/userInfo` 返回用户的个人信息以及随机生成的相关属性,则可以在 Easy-Mock 编辑器中输入以下内容: ```json { "status": 0, "message": "success", "data": { "username": function({ _req }) { return _req.query.username || 'defaultUser'; }, "age": "@integer(18, 60)", "email": "@email" } } ``` 在此示例中,我们不仅能够接收客户端传递过来的查询字符串作为变量参与运算,还借助 Mock.js 提供的各种辅助方法实现了多样化的输出效果[^4]。 --- #### 可视化调试体验 除了强大的后台能力外,Easy-Mock 更注重用户体验优化,在前端界面上提供了直观的操作方式让用户轻松管理和预览已有的 mock 数据集。无论是单独查看某个路径的行为还是整体浏览整个服务蓝图都显得游刃有余[^1]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值