Thanks to Souche Inc. which provides the server to hold an online service.
Links
- 简体中文介绍
- Online Manual
- Easy Mock CLI - A command line tool to generate an api.js file quickly based on Easy Mock.
Introduction
If you're unable to deploy an Easy Mock service by yourself, the online service is recommended.
Easy Mock is a persistent service that generates mock data quickly and provids visualization view.
Features
- Support API proxying
- Convenient shortcuts
- Support Collaborative editing
- Support team project
- Support RESTful
- Support Swagger | OpenAPI Specification (1.2 & 2.0 & 3.0)
- Create project quickly based on Swagger
- Support displaying parameters and the return value
- Support displaying class model
- More flexible and extensible in response data
- Support for custom response configuration (example: status/headers/cookies)
- Use Mock.js schema
- Support restc to preview API
Quick Start
Before starting, we assume that you're already have installed Node.js (v8.x,
v10.x is not supported) & MongoDB (>= v3.4) & Redis(>= v4.0).
Installation
$ git clone https://github.com/easy-mock/easy-mock.git
$ cd easy-mock && npm install
Configuration
Find config/default.json or create config/local.json to overwrite some configuration.
Easy Mock will load different configuration files according to your environment. Reference to node-config to get more information because Easy Mock uses node-config as its configuration module.
{
"port": 7300,
"host": "0.0.0.0",
"pageSize": 30,
"proxy": false,
"db": "mongodb://localhost/easy-mock",
"unsplashClientId": "",
"redis": {
"keyPrefix": "[Easy Mock]",
"port": 6379,
"host": "localhost",
"password": "",
"db": 0
},
"blackList": {
"projects": [], // projectId, e.g."5a4495e16ef711102113e500"
"ips": [] // ip, e.g. "127.0.0.1"
},
"rateLimit": { // https://github.com/koajs/ratelimit
"max": 1000,
"duration": 1000
},
"jwt": {
"expire": "14 days",
"secret": "shared-secret"
},
"upload": {
"types": [".jpg", ".jpeg", ".png", ".gif", ".json", ".yml", ".yaml"],
"size": 5242880,
"dir": "../public/upload",
"expire": {
"types": [".json", ".yml", ".yaml"],
"day": -1
}
},
"ldap": {
"server": "", // Set server to enable LDAP login. e.g. "ldap://localhost:389" or "ldaps://localhost:389"(use SSL)
"bindDN": "", // Username,e.g. "cn=admin,dc=example,dc=com"
"password": "",
"filter": {
"base": "", // Base where we can search for users,e.g. "dc=example,dc=com"
"attributeName": "" // e.g. "mail" or "email" etc.
}
},
"fe": {
"copyright": "",
"storageNamespace": "easy-mock_",
"timeout": 25000,
"publicPath": "/dist/"
}
}
Note:
- The default value of
publicPath
is'/dist/'
. You can replace it to your own CDN if necessary. - If you changed some configuration of
fe
, you should runbuild
command to adapt that changes.
Background:
Easy Mock supports two background service, Unsplash and Bing.
If you leave unsplashClientId
blank, the background will be provided by Bing.
Launch
$ npm run dev
# Visit http://127.0.0.1:7300
More Commands
# Build front-end assets
$ npm run build
# Run Easy Mock as production environment (You should run `build` first)
$ npm run start
# Run unit test
$ npm run test
# Test lint
$ npm run lint
Deployment
Please configure your configuration files before this step.
PM2
We're recommending you to use PM2 as your daemon process.
Install PM2 Globally
$ [sudo] npm install pm2 -g
Launch via PM2
You should run
build
before this step.
$ NODE_ENV=production pm2 start app.js
Releases
Refer to Release and you'll get all the releases and theirs changelog.
Contributing
Easy Mock is now maintained by Mobi-Architecture team of Souche Inc. If you have any question about this project, you're welcome to post Issues or make some Pull Requests. Before contributing, we think you'd better read the contributing guide.
Real-Time Feedback
You may make some real-time feedback via QQ group.
QQ is the most popular IM software in China and you can get it downloaded via http://en.qq.com/.
The QQ group number is 595325417, and here's the QR code of the group:
Who Deployed Easy Mock
If you deployed Easy Mock in your own server, please tell us
- Souche inc | 大搜车
- Ruff
- Qiniu | 七牛
- Head Spring | 恒达时讯
- Digital Union | 数字联盟
- CityTogo | 兔狗家装
- Mistong | 铭师堂
- Tuotuo Internet | 妥妥网络
- Straight flush | 同花顺
- 360 Enterprise Security | 360企业安全集团
- MeiTuan | 美团网
- Wenba. Inc | 上海谦问万答吧云计算科技有限公司 AI学部门
- PPMoney | 万惠集团
- Mysoft Yunke | 明源云客
- GeekPark | 极客公园
- Enation Soft Co., Ltd | 易族智汇(北京)科技有限公司
- Harmony Cloud | 杭州谐云科技有限公司
- China Literature | 阅文集团
- huodongxing | 活动行
- kinhom | 金海马商业集团
- yuntongxun | 北京容联易通信息技术有限公司
- YHD | 1号店
- 51NB | 51信用卡
- Yunlai inc | 云来网络
- wozaijia | 我在家家居
- FOR U TRUCKING | 福佑卡车
- GUANLAN NETWORKS(HANGZHOU) CO.,LTD | 丁香园
- Bindo Labs Limited
- Value Simplex | 熵简科技
- Shanghai Mingyun | 上海明运
- Feidai | 深圳飞贷金融科技
- cibfintech | 兴业数字金融
- 广州三人行壹佰教育
- bangdao-tech | 邦道科技
- CGB | 广发银行
- Budiot | 萌发物联&玖竹科技
- ZTE | 中兴通讯股份有限公司
- Envision Digital | 远景智能
- Jianshu | 简书
- HYPERS | 宏路数据
- yunlong tech | 成都云隆科技有限公司
- taojiujiu tech | 涛舅舅网络科技有限公司
- shunfeng tongcheng tech | 北京顺丰同城科技有限公司
- bread finance | 面包财经
- Jimi | 机蜜
- zhongan | 众安科技信息技术服务有限公司
- verystar | 上海费芮网络科技有限公司
- lanren | 懒人听书
- IBPS | 广州流辰信息技术有限公司
- StarZP | 星众派
- Shijiazhuang banknote printing corporation | 石家庄印钞有限公司
Core Contributors
chuangker |
XadillaX |
ostoc |
xinyu198736 |