name: api-mock-generator description: Generate mock API servers from OpenAPI 3.x and Swagger 2.0 specs. Use when creating mock/stub APIs for frontend development, testing, demos, or CI. Generates realistic fake data based on schema types and property names. Supports live server mode, static JSON file generation, response delays, random error simulation, and CORS. Pure Python, no dependencies.
Generate mock API servers and static fixtures from OpenAPI/Swagger specs. Contextual fake data (emails, names, UUIDs, etc.) based on property names and schema types.
# Start a live mock server
python3 scripts/generate_mock.py serve api.json
# Generate static JSON mock files
python3 scripts/generate_mock.py generate api.json -o mocks/
# List discovered routes
python3 scripts/generate_mock.py routes api.json
# Generate sample response for a specific endpoint
python3 scripts/generate_mock.py sample api.json /users
serve — Live Mock Serverpython3 scripts/generate_mock.py serve spec.json [options]
Options:
- --port, -p — port (default: 3000)
- --host — host (default: 127.0.0.1)
- --delay, -d — response delay in ms (simulate latency)
- --error-rate, -e — random error rate 0.0-1.0 (simulate failures)
Features: CORS headers on all responses, path parameter matching, JSON responses with Content-Type headers.
generate — Static Mock Filespython3 scripts/generate_mock.py generate spec.json -o output_dir/
Creates one JSON file per route + manifest.json with route mapping. Useful for test fixtures or frontend stubs.
routes — Discover Endpointspython3 scripts/generate_mock.py routes spec.json [--format text|json]
sample — Single Endpoint Previewpython3 scripts/generate_mock.py sample spec.json /users --method GET
pip install pyyaml)Property-name-aware generation:
| Property pattern | Generated data |
|---|---|
*email* |
realistic email |
*name* |
first/last/full name |
*phone* |
formatted phone |
*url*, *website* |
https URL |
*city*, *country* |
real city/country |
*id*, *uuid* |
UUID v4 |
*price*, *amount* |
currency-like number |
*image*, *avatar* |
picsum.photos URL |
*description*, *bio* |
lorem paragraph |
*status* |
active/inactive/pending |
Schema-aware: respects enum, example, default, format (date, date-time, email, uri, uuid, ipv4), minimum/maximum, minLength/maxLength, $ref, oneOf/anyOf/allOf.
0 — success小葱技能站7w4.net,专业的AI技能分享平台。
1 — route not found (sample command)2 — spec parse error or system error质量较好,能满足快速创建模拟 API 的需求。文档清晰易懂,功能设计实用,生成的假数据智能且真实。实时服务器和静态文件两种模式覆盖面广,但缺少示例文件,上手需要自己准备 API 规范。整体适合开发者使用,文档和功能实现都较为专业。