Skip to content
dsh.fish
Bundle

dsh-api-mock

接口模拟服务器:解析 OpenAPI 3.x(JSON/YAML),生成零依赖可运行的 Node Mock 服务器,并按 schema 确定性生成示例数据,前端联调无需等后端

Source
uckkk
stars
1 stars
License
MIT
Updated
Updated yesterday

Readme

# dsh-api-mock · 接口模拟服务器

解析 OpenAPI 3.x(JSON / YAML),生成**零依赖、可直接运行的 Node Mock 服务器**,并按每个接口的响应 schema 确定性生成示例数据。前端拿到即可联调,无需等后端。纯 Node 实现,无网络、无外部服务。

## 提供的工具

| 工具 | 作用 |
|---|---|
| `mock_generate` | 解析规范,生成 `mock-server.mjs`(Node 内置 http,零依赖),返回可用接口列表与运行命令 |
| `mock_sample` | 按 schema 或 operationId 生成一个示例 JSON 值(造测试/种子数据) |

## 安装

```bash
dsh plugin add dsh-api-mock
```

安装后在 profile 的 `package.json` 的 `dsh.profile.bundles` 中加入 `"dsh-api-mock"`。

## 用法示例

```
根据 openapi.yaml 生成一个 mock 服务器,跑在 3000 端口
→ 调用 mock_generate(spec="openapi.yaml", port=3000)

给 User 这个 schema 造一条示例数据
→ 调用 mock_sample(spec="openapi.yaml", ref="#/components/schemas/User")
```

生成后运行 `node mock-server.mjs` 即可访问所有接口的示例响应。

## 说明

- 示例数据按 schema 类型确定性生成(string→"示例字符串"、integer→42、email→user@example.com、enum→首项等),也尊重 `example`/`default`/`enum` 字段。
- Mock 响应取每个接口第一个 2xx 响应(无 2xx 则取第一个响应)的 `application/json` schema。

## 安装

```bash
dsh plugin add github:uckkk/dsh-api-mock
```

> 安装即在本机运行第三方代码,请自行审阅源码。

## 安装

```bash
dsh plugin add github:uckkk/dsh-api-mock
```

## 使用

安装后在会话中调用该插件注册的工具即可。

## 许可

MIT

> 安装即在本机运行第三方代码,请自行审阅源码。

Install

dsh plugin --profile web add github:uckkk/dsh-api-mock

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source