hoppscotch提供五种mock服务实现方式:一、web版内置mock server;二、集成msw本地开发;三、docker自托管后端;四、openapi规范自动生成;五、环境变量驱动动态响应。

如果您在Hoppscotch中需要模拟后端API行为以支持前端并行开发或离线测试,则必须启用Mock服务功能。以下是创建Mock服务器并配置响应数据的多种实现方式:
一、使用内置Mock Server功能(Web版)
Hoppscotch Web版本提供轻量级Mock服务入口,无需额外部署,适合快速原型验证。该方式通过UI直接定义请求路径与静态响应,适用于单接口模拟场景。
1、点击左侧导航栏的Mock Server图标(若未显示,请确保已登录并进入完整工作区)。
2、点击+ New Mock Server按钮。
3、在弹出表单中填写:Server Name(如“user-api-mock”)、Base URL(如“https://mock.example.com”)、Environment(选择或新建环境)。
4、在Routes区域点击Add Route,输入路径(如“/api/users”)、HTTP方法(GET)、状态码(200)及响应体(JSON格式,如{"users":[{"id":1,"name":"Alice"}]})。
5、点击Save & Start,系统生成唯一Mock URL(形如https://mock.example.com/api/users),可直接用于前端fetch调用。
二、集成MSW(Mock Service Worker)本地开发模式
该方案适用于需要拦截真实请求、支持动态逻辑与多场景分支的高级测试需求,依赖前端项目代码改造,完全运行于浏览器端,不依赖网络服务。
1、在项目根目录执行:pnpm add msw --save-dev(若使用npm则替换为npm install)。
2、创建目录src/mocks,并在其中新建handlers.ts文件,按需定义REST处理器,例如:
export const handlers = [
rest.get('/api/products', (req, res, ctx) => {
return res(ctx.status(200), ctx.json([{ id: 'p1', name: 'Laptop', price: 999 }]));
}),
rest.post('/api/orders', (req, res, ctx) => {
const body = req.body as { items: string[] };
return res(ctx.status(201), ctx.json({ orderId: 'ord-123', items: body.items }));
})
];
3、在src/mocks/server.ts中初始化服务:
import { setupWorker } from 'msw';
import { handlers } from './handlers';
export const worker = setupWorker(...handlers);
4、在应用入口(如main.tsx)中启动worker:
if (process.env.NODE_ENV === 'development') {
worker.start({ onUnhandledRequest: 'bypass' });
}
三、Docker自托管Mock Backend服务
此方式部署独立Mock后端服务,支持团队共享、持久化路由配置及跨域统一管理,适合中大型协作环境。
1、克隆Hoppscotch官方Mock Server模块仓库:git clone https://gitcode.com/gh_mirrors/hop/hoppscotch && cd hoppscotch/packages/hoppscotch-backend。
2、修改src/mock-server/config.ts,添加自定义路由映射规则,例如:
const mockRoutes = [
{ path: '/v1/posts', method: 'GET', response: [{ id: 1, title: 'Intro' }] },
{ path: '/v1/posts/:id', method: 'GET', response: (params) => ({ id: params.id, content: 'Full text...' }) }
];
3、构建镜像并运行:
docker build -t hoppscotch-mock .
docker run -d -p 8080:8080 --name mock-srv hoppscotch-mock
4、访问http://localhost:8080/docs查看交互式Mock API文档,所有路由自动注册为可测试端点。
四、通过OpenAPI规范自动生成Mock服务
当已有OpenAPI 3.0+ YAML/JSON规范文件时,可一键生成符合契约的Mock服务,确保前后端接口定义严格一致。
1、在Hoppscotch主界面点击Import → OpenAPI Spec,上传规范文件(如openapi.yaml)。
2、导入成功后,右侧集合面板将显示所有定义的路径,每条路径旁出现Mock按钮。
3、点击任意路径的Mock按钮,系统自动解析schema生成示例响应,并允许编辑返回值、状态码、延迟时间等参数。
4、点击Start Mocking,Hoppscotch启动本地Mock代理,所有对该路径的请求将被重定向至生成的模拟响应。
五、使用环境变量驱动动态Mock响应
该方法允许同一URL根据当前选中的Hoppscotch环境(如dev/staging/prod)返回差异化数据,适用于多阶段联调。
1、在Environments面板中创建至少两个环境,分别设置变量:MOCK_USER_COUNT=5(dev)、MOCK_USER_COUNT=1000(staging)。
2、在Mock Server路由配置中,响应体使用Mustache语法引用变量:
{"count": {{MOCK_USER_COUNT}}, "data": []}
3、切换顶部环境选择器后,再次发送请求,响应中count字段将自动匹配对应环境变量值。
4、支持嵌套变量与条件表达式,例如:{{#if (eq MOCK_ENV "prod")}}{"status":"live"}{{else}}{"status":"demo"}{{/if}}。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











