一个“不需要”写代码 的 mock & 代理 工具

避开USB驱动开发的第一个坑:深入理解设备描述符中的Class/SubClass/Protocol 本文深入解析USB设备描述符中的Class/SubClass/Protocol配置,帮助开发者避免常见的驱动开发陷阱。通过详细的结构说明和典型配置示例,如HID设备、大容量存储设备和通信设备的设置,提供实用的调试技巧和验证方法,确保USB设备能被正确识别和枚举。 阅读详情

前言

最近发现一个比较好玩的东东,一个不需要 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.Random


const 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,
},
}

生成如下代码

.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 },
}
})

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

{
"code": 200,
"message": "这是一条精确的mock",
"result": {
"list": [
{
"code": "八别因教者活",
"name": "模糊匹配后生成的mock",
"icon": "http://dummyimage.com/48x48",
"actived": true
},
{
"code": "毛着何工时白",
"name": "模糊匹配后生成的mock",
"icon": "http://dummyimage.com/48x48",
"actived": false
},
{
"code": "县称县单下外",
"name": "模糊匹配后生成的mock",
"icon": "http://dummyimage.com/48x48",
"actived": true
}
],
"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

Mock代理对象失效问题分析 Mockito 简介 Mockito是一种常用的java单测框架,主要功能就是用来模拟接口的实现,对于测试环境无法执行的方法可以通过mock来执行我们定义好的逻辑。 通常代码写法如下 public class AimServiceTest { // 将mock对象注入到目标对象中 @Resource @InjectMocks private AimService aimService; // 生成mock对象 @Mock private NameS 阅读详情

相关推荐

STM32CubeMX实战:TIM定时器中断配置避坑指南(附100ms精准定时代码)

本文深入解析STM32CubeMX配置TIM定时器中断的常见误区与避坑技巧,重点阐述时钟源、预分频器与自动重装载值的精准计算方法。通过实战案例,提供一份可直接复用的100ms精准定时中断代码模板,并分享调试验证方法,帮助开发者构建稳定可靠的嵌入式系统心跳。

grafana8visual的博客 500

我们用到的3种Mock测试方案​

Mock这个词对于测试人员来说并不陌生,当我们要测试的接口A依赖接口B,可B无法满足我们的测试需求时,需要Mock一下接口B,来测试A。当前端和服务端并行开发时,如果服务端接口还没有开发好,前端同学也会Mock一下。 那 Mock 到底是什么? 维基百科: 在面向对象程序设计中,模拟对象(英语:mock object,也译作模仿对象)是以可控的方式模拟真实对象行为的假的对象。程序员通常创造模拟对象来测试其他对象的行为,很类似汽车设计者使用碰撞测试假人来模拟车辆碰撞中人的动态

m0_58026506的博客 2311

Cesium实战:5分钟搞定离线地图与地形加载(附避坑指南)

本文详细介绍了Cesium在内网环境下的离线部署实战方案,重点解决了影像与地形数据的本地加载问题。通过逐步指导项目配置、本地瓦片与自定义地形数据的处理,并优化相机控制体验,帮助开发者快速构建安全、高效的三维地球应用,避免常见的401错误与加载失败陷阱。

weixin_30632089的博客 283

Mock技术的深度理解及WireMock框架基础使用

一、关键概念 spy:监听调用过程,不具备转发能力,主要是监听调用过程(类似抓包,F12的功能) stub:返回固定值的实现,无法在测试中进行动态变更(指无法根据真实的值进行动态变更),比较死板(类似Charles的map local功能,不经过后端,类似挡板) proxy:使用代理协议转发请求并返回真实内容,可以转发、监听,甚至修改(类似Charles的rewrite功能,把请求转发给真实的服务,服务返回response后,对response进行一些修改后转发给前端) fake:用假的实现代替真的实现,

好多可乐的博客 5245

30分钟上手TI DRV89xx-Q1EVM:多通道电机驱动器评估板实战指南

多通道H桥电机驱动器是机器人、工业自动化及汽车电子中实现多轴运动控制的核心器件,其核心原理是通过集成多个半桥电路,利用SPI通信与PWM调制技术,实现对多个直流电机或负载的独立、精确驱动。这类技术方案能显著减少外围元件数量与PCB面积,提升系统集成度与可靠性,在关节机器人、精密座椅调节及多轴控制单元等场景中价值突出。本文以德州仪器DRV89xx-Q1系列评估板为例,深入解析其硬件架构、安全操作规范及图形化软件配置流程,重点涵盖**过流保护**与**PWM频率**等关键参数的设置与调试,帮助工程师快速完成从硬

weixin_29192141的博客 336

从Oracle迁移数据到Hadoop

目标:把Oracle 下的数据文件迁移到 Hadoop , 数据表都是上亿条,每个数据表的空间都超过100G。 关键是建立数据文件是UTF8格式,这样数据中的汉字在Hadoop 里显示才正常。 平台:CentOS 6.10 工具:Python 2.7 cx_Oracle 库 Oracle10.2.0.4.0 Hadoop 2.7.2-transwarp-5.2.1 1. 查看表...

预则立 4237

接口测试常用代理工具

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

2301_78276982的博客 500

【智能座舱】- 智能座舱研究报告合集

智能座舱研究报告合集

零点壹客的博客 1306

java mock server_请问该如何用mockserver做web based proxy?

如何用Netbeans构建 GUI 程序步骤1:创建项目第一步,创建一个应用程序,并将其命名为 NumberAddition。选择“文件” -&gt; “新建项目”。或者在“工具栏”单击“新建项目”图标。在弹出窗口的“类别”窗格中选择“Java”,在“项目”窗格中选择“Java应用程序”。单击“下一步”;在“项目名称”中键入 NumberAddition,在“项目位置”中键入本地文件目录以保存项目...

weixin_39862899的博客 173

1、 快速掌握R:初学者的计量经济学指南

本博文旨在为初学者提供一个快速掌握R语言的指南,特别是针对计量经济学领域的应用。内容涵盖了R的基本操作、数据管理、可视化、函数编写以及高级统计分析方法,如OLS回归、异方差修正和集群标准误差计算等。通过实际示例和详细说明,帮助读者在数据分析和科学研究中更加得心应手。

weixin_35734408的博客 151

【CVPR2025 DEIM】超详细!手把手训练自己的数据集教学:从源码下载,配置虚拟环境,准备数据集、训练、验证、推理测试 ,实现0到1的完整教学过程。本文在win系统上训练,最强实时目标检测算法!

本文详细介绍了CVPR2025 DEIM目标检测模型的完整使用流程。内容包含:1)源码下载与虚拟环境配置;2)Visdrone2019数据集准备与配置文件修改;3)训练参数设置及Windows系统常见问题解决方案;4)模型验证、推理测试及热力图生成方法。特别针对Windows用户提供了虚拟环境配置指导,并详细说明了数据集路径设置、参数调整等关键步骤。通过本文的指导,小伙伴可以快速掌握DEIM模型的使用方法,用于学术论文研究和实验分析。

Ai缝合怪、助力小伙伴高效发论文 7665

netsh interface portproxy 转发不生效_一个“不需要”写代码 的 mock &amp; 代理 工具...

本文来源:https://juejin.im/post/6871592049485807630前言最近发现一个不需要 mock 并且匹配正则的接口直接转发到后端地址的小工具。installyarn create @lowcoding/mockstartyarn startmock server 默认在本地 3000 端口启动,访问 http://localhost:3000/ 即可。lowcode...

weixin_39922683的博客 144

基于STM32、HAL库的ZMOD4510AI4R气体传感器驱动程序设计

ZMOD4510AI4R是Renesas公司推出的一款数字空气质量传感器,主要用于检测臭氧(O₃)和总挥发性有机化合物(TVOC)浓度。(status & 0x80)) // 检查数据就绪位。// 等待测量完成 (实际应用中应该使用非阻塞方式)// 转换为ppb (简化转换,实际应根据传感器文档校准)* @param hzmod: ZMOD4510句柄。* @param tvoc: TVOC浓度(ppb)* @param ozone: 臭氧浓度(ppb)* @param hi2c: I2C句柄。

corlin6688的博客 312

众多mock工具,这一次我选对了

一款超级好用的mock工具送给大家,助你提升开发效率

商务合作欢迎私信我 4万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

开源一个超好用的接口Mock工具——Msw-Tools

为了摆脱接口数据联调的痛苦,经过一周的努力,从零开发了一个灵活无依赖,且集成简单的数据接口 Mock 工具——Msw-Tools,已开源到 NPM,希望对前端小伙伴有所帮助。

天问博客-专注于大前端技术 2475

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

刚刚美团开源了一款超级好用的抓包及 Mock 工具

点击上方“AirPython”,选择“加为星标”第一时间关注 Python 原创干货!1. 前言抓包和 Mock 是日常工作中经常用到的 2 个功能,可能第一时间你会想到 Charles...

AirPython的博客 6341

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Charles MOCK 数据 htpps代理

charles抓包、重定向、打断点、抓https等设置

喵酱 1万+

roadhog配置mock数据、服务代理

roadhog 是一个 cli 工具,提供 server、 build 和 test 三个命令,分别用于本地调试和构建,并且提供了特别易用的 mock 功能。命令行体验和 create-react-app 一致,配置略有不同,比如默认开启 css modules,然后还提供了 JSON 格式的配置方式. 用roadhog快速的构建了一个项目 ...

weixin_43453221的博客 1117

实现无入侵式C++代码mock工具

为了实现真正无侵入式的mock,我们基于开源Hook框架Frida-gum提供的API,利用C++模板进行封装,作者编写了一个简单实用的mock工具,在此开源分享(代码详见附录)。背景在单元测试中,往往需要减少被测函数的外部依赖,如网络访问、数据库访问等。我们希望有一个mock工具能让我们轻松地屏蔽掉外部依赖。C++的开源mock工具比较少,而且大多是基于多态实现的(如gmock),只支持mock...

淘系技术 3962

单元测试 Mock不Mock?

前段时间,我们团队就单元测试是否采用 Mock 进行了一番交流,各有各的说法。本文就单元测试 Mock不Mock 给出我的观点,欢迎各位同仁提出不同的意见,共同探讨、相互交流。简单来说,Mock就是模拟目标代码的行为,在实际测试过程中代替真实的调用目标。如下图这样做的意义何在?隔离测试:Mock 使得测试可以专注于测试的代码逻辑,而不必关心外部不稳定因素。提高测试速度:Mock 可以避免耗时的外部调用,从而加快测试速度。提高测试的可靠性和稳定性:通过Mock,可以避免外部变化对测试结果的影响。

二蛋的博客 2006

mock数据(自己写的数据)

mock数据(自己写的数据) 文章目录前言一、准备工作二、使用步骤1.引入包2.创建文件3.编写mockServe.js和数据4.入口引入5.发送请求6.项目使用总结 前言 mock是什么? Mock简单来理解,就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试。而这个虚拟的对象就是mock对象。mock对象就是真实对象在调试期间的代替品。 一、准备工作 首先需要准备一个vue的项目 先打开需要创建项目的文件夹下方输入cmd打开窗口 在窗口输入vue crea.

The_more_more的博客 1万+

分享一个 HTTP(S) 代理&抓包工具,拦截和Mock Web客户端请求和服务端响应

HTTP 抓包 代理 Mock请求 伪造响应

tzy233的专栏 1247

vue代理的devServer中before设置mock后和真实接口一起对接的问题

vue代理的devServer中before设置mock后和真实接口一起对接的问题

牛先森家的博客 3340
上一篇: Spring Boot 实现读写分离,还有谁不会?
下一篇: ElasticSearch 中需要掌握的七个概念
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值