点击上方蓝色“程序猿DD”,选择“设为星标”

回复“资源”获取独家整理的学习资料!

作者 | 若邪

来源 | https://juejin.im/post/6871592049485807630

# 前言

最近,发现一个比较好玩的东东,一个不需要 mock 并且匹配正则的接口直接转发到后端地址的小工具。

install

yarn create @lowcoding/mock

start

yarn start

mock server 默认在本地 3000 端口启动,访问 http://localhost:3000/ 即可。

lowcode-mock 默认支持跨域,前端项目中可不必再配置代理,直接请求 lowcode-mock 起的服务即可。

mock

在 src\routes 目录下新建一个 js 文件,将如下内容复制进去保存即可:

import KoaRouter from 'koa-router'
import proxy from '../middleware/Proxy'
import { delay } from '../lib/util'
let Mock = require('mockjs')
let Random = Mock.Randomconst router = new KoaRouter()
router.get('/your-mock-api', (ctx) => {ctx.body = '你的第一个mock接口'
})
module.exports = router

使用 vscode 插件 yapi-code ,可直接根据 JSON 数据或者 YAPI 接口定义自动生成 mock 接口以及 mock 数据。

# 根据 YAPI 生成 mock

复制 YAPI 上接口 id ,比如 https://你的yapi地址/project/869/interface/api/14037 最后面的数字部分

访问创建的 mock 接口,即可拿到随机的 mock 数据:

# 根据 JSON 生成 mock

复制 JSON 数据,比如:

通过 JSON 数据生成的 mock 接口需要手动修改路由地址。

根据字段类型或字段名称生成特定的 mock 数据

配置 yapi-code

配在 package.json 中即可

    "yapi-code.mockKeyWordLike": {"icon": "Random.image('48x48')","img":"Random.image('48x48')","image":"Random.image('48x48')","code": "200&&number","name":"'模糊匹配后生成的mock'"},"yapi-code.mockKeyWordEqual": {"message": "'这是一条精确的mock'","total": 200,},"yapi-code.mockString": "Random.cword(5, 6)","yapi-code.mockBoolean": "Random.boolean()","yapi-code.mockNumber": "Random.natural(100,1000)"

根据 json 数据

const json = {code: 100,message: '请求成功',result: {list: [{code: '注意这是一个字符串的code',name: '张三',icon: '',actived: false,},],total: 0,},
}

生成如下代码

访问 mock 接口即可拿到如下类似数据:

.get(`xxxxx`, async (ctx, next) => {        const list1 = []        for (let i = 0; i < 3; i++) {            list1.push({                code: Random.cword(5, 6),                name: '模糊匹配后生成的mock',                icon: Random.image('48x48'),                actived: Random.boolean(),            })        }        ctx.body = {            code: 200,            message: '这是一条精确的mock',            result: { list: list1, total: 200 },        }    })

延时

import KoaRouter from 'koa-router'import proxy from '../middleware/Proxy'import { delay } from '../lib/util'let Mock = require('mockjs')let Random = Mock.Random
const router = new KoaRouter()router.get('/delay', (ctx) => {    delay(3) // 3 秒后返回结果    ctx.body = 'delay'})

可用于测 loading 效果。

http 异常状态码


router.get('/httpError', (ctx) => {    ctx.status = 401    ctx.body = 'http 401'})

代理


router.get('/proxy', proxy('https://github.com/wjkang/lowcode-mock'), (ctx) => {    ctx.body = 'https://github.com/wjkang/lowcode-mock'})

来自 /proxy 的请求转发到 https://github.com/wjkang/lowcode-mock/proxy ,用于后端接口可联调的时候跳过本地 mock,转发请求到后端接口。

router.all(new RegExp('^/lowcode/mock/(|^$)'), proxy('https://github.com/wjkang/lowcode-mock'))

不需要 mock 并且匹配正则的接口直接转发到后端地址。

# 源码地址

https://github.com/wjkang/lowcode-mock

往期推荐

Java 15 转正了,国内几大互联网公司均有贡献,其中腾讯最为突出!

赠书:一本书带你吃透Nginx应用与运维

超全的 Linux Shell 文本处理工具集锦,快收藏

MySQL中的InnoDB是怎么解决幻读的?

Redis为什么变慢了?常见延迟问题定位与分析

我们在星球聊了很多深度话题,你不来看看?

我的星球是否适合你?

点击阅读原文看看我们都聊过啥?

推荐一个生成后端模拟数据的懒人工具:lazy-mock相关推荐

  1. lazy-mock ,一个生成后端模拟数据的懒人工具

    lazy-mock   lazy-mock 是基于koa2构建的,使用lowdb持久化数据到JSON文件.只需要简单的配置就可以实现和json-server差不多的功能,但是比json-server更 ...

  2. 【Pytorch神经网络实战案例】15 WGAN-gp模型生成Fashon-MNST模拟数据

    1 WGAN-gp模型生成模拟数据案例说明 使用WGAN-gp模型模拟Fashion-MNIST数据的生成,会使用到WGAN-gp模型.深度卷积GAN(DeepConvolutional GAN,DC ...

  3. 如何快速在oracle内生成数据,[Oracle]快速生成大量模拟数据的方法

    快速生成大量模拟数据的方法: create table TEST(id integer, TEST_NUMBER NUMBER(18,6)); insert into TEST select i+j, ...

  4. 【Pytorch神经网络实战案例】17 带W散度的WGAN-div模型生成Fashon-MNST模拟数据

    1 WGAN-div 简介 W散度的损失函数GAN-dv模型使用了W散度来替换W距离的计算方式,将原有的真假样本采样操作换为基于分布层面的计算. 2 代码实现 在WGAN-gp的基础上稍加改动来实现, ...

  5. 墙裂推荐一个高质量的数据分析学习平台

    墙裂推荐一个高质量的数据分析学习平台 大家好,我是Peter呀~ 这是一篇无关任何技术的文章,主要是将近期自己写作的文章和资料进行了整理和汇总.也推荐下一个python数据分析的平台:尤而小屋 Pan ...

  6. 对某安卓应用进行分析爬取课表数据制作懒人课表(二)

    本章用到的工具有: AndroidStudio(配合xposed进行分析) xposed(对JAVA层的应用进行hook) 任意一款js调试工具,我这边用的是WT-JS 精易编程助手(只是为了使用里面 ...

  7. 对某安卓应用进行分析爬取课表数据制作懒人课表(一)

    搞事情前 安卓模拟器(安卓版本最好为5.0) fiddler(抓包分析,配置fiddler详见:fiddler 抓取https配置) 精易编程助手 反射大师(脱壳用) dex2jar(把dex文件转成 ...

  8. centos7.5安装懒人工具autojump

    安装懒人工具autojump 一.autojump是什么 autojump是一个Linux命令行工具,它允许你通过模糊匹配就可以一步跳转到想要的目录,不管你在哪个目录!是不是很神奇? autojump ...

  9. GitHub 项目:快速升级 B 站账号等级的懒人工具

    点击上方 Java后端,选择 设为星标 优质文章,及时送达 从二次元到泛娱乐化弹幕网站,B 站已经成为了国内最受欢迎的综合型视频网站之一. 无论是追番.刷剧,还是看教程.上网课,几乎每个人都可以在这里 ...

最新文章

  1. [译] Vue.js 优雅地集成第三方 JavaScript
  2. JSTL(JSP Standard Tag Library)读书笔记
  3. 缓存初解(五)---SpringMVC基于注解的缓存配置--web应用实例
  4. 微软开源PowerShell并支持Linux
  5. JavaScript+ Canvas开发趣味小游戏《贪吃蛇》
  6. Java案例:装载与发射子弹问题
  7. 涉嫌内幕交易?美国SEC对马斯克展开调查
  8. 关于返回一个整数数组中最大子数组的和的问题(续01)
  9. 配置Syslog输出到远程日志服务器
  10. python分支和循环的思维导图_思维导图的绘制步骤【PDCA管理循环】
  11. Eclipse 最佳字体 推荐
  12. python 柱状图显示数值_Matplotlib里的柱状图带数值显示
  13. linux中的文件搜索命令
  14. 每日一题#10-22 Ransomware
  15. 红米note7找android,红米Note 7
  16. 火焰焰心matlab,火焰心_刘德华_高音质在线试听_火焰心歌词|歌曲下载_酷狗音乐...
  17. 【0024】互联网创业的地域鄙视链
  18. ChinaSkills-网络系统管理(2022改革Linux部分SDN软件定义网络[OpenDayLight]CentOS7.9安装运行预测)
  19. “对不起,我们不招半路出家的程序猿”
  20. 三款大四学生必备PDF阅读器,国产也可以很牛x

热门文章

  1. highcharts的导出功能
  2. linux 创建 虚拟文件系统设备 文件节点 使用 proc_create 实例 简介
  3. linux ubuntu gcc编译 fatal error: bits/libc-header-start.h 错误解决
  4. redmine 贴图操作
  5. 数制系统之间的转换总结(各进制的转换)
  6. windbg调试命令
  7. VS2010 VS2012 的快捷键
  8. 线程同步----递归锁
  9. Linux内核的namespace机制分析
  10. faster rcnn论文_faster-rcnn论文思路及代码编译