在现代前后端分离的开发模式中,后端接口的数据模拟是一个常见且必要的需求。尤其是在后端接口尚未开发完成时,前端开发需要依赖模拟数据进行开发与测试。Easy-Mock 是一个非常流行的开源工具(虽然它已经停止更新好长时间了),它可以帮助我们快速模拟 RESTful API 接口,支持 JSON 数据返回、接口路由配置等功能,极大地提高了前后端协作的效率。
在实际的企业应用中,出于安全性、隐私保护或自定义需求,很多团队需要将 Easy-Mock 部署为私有化服务。本文将介绍如何将 Easy-Mock 部署到本地服务器或私有云环境中,并提供一些基本的使用指南。
介绍
Easy Mock 是一个可视化,并且能快速生成模拟数据的持久化服务。可私有化部署
特性
- 支持接口代理
- 支持快捷键操作
- 支持协同编辑
- 支持团队项目
- 支持 RESTful
- 支持 Swagger | OpenAPI Specification (1.2 & 2.0 & 3.0)
- 基于 Swagger 快速创建项目
- 支持显示接口入参与返回值
- 支持显示实体类
- 支持灵活性与扩展性更高的响应式数据开发
- 支持自定义响应配置(例:status/headers/cookies)
- 支持 Mock.js 语法
- 支持 restc 方式的接口预览
github地址:https://github.com/easy-mock/easy-mock
私有化部署
我直接使用的是docker部署的,作者再dockerhub上提供了一个镜像https://hub.docker.com/r/easymock/easymock
此服务依赖redis和mongodb,我之前部署过redis和mongodb,所以此处仅需要部署web服务就可以了。
创建docker-compose.yml
首先,我们再服务器上创建一个部署目录easymock
,在此目录下创建docker-compose.yml文件,内容如下:
docker-compose.yml
services:
web:
image: registry.cn-hangzhou.aliyuncs.com/xjpublic/easymock:latest
command: /bin/bash -c "npm start"
ports:
- 7300:7300
volumes:
# 日志地址,根据需要修改为本地地址
- ./logs:/home/easy-mock/easy-mock/logs
# 配置地址,请使用本地配置地址替换
- ./production.json:/home/easy-mock/easy-mock/config/production.json
# 上传文件
- ./public:/home/easy-mock/easy-mock/public
restart: always
官方镜像是easymock/easymock:1.6.0
,我在这转存到阿里云镜像仓库中了,下载不下来的家人可以使用我阿里云镜像仓库中的镜像。
创建production.json配置文件
在docker-compose.yml同级目录下创建production.json配置文件,文件需要给其它用户赋予读权限sudo chmod +r production.json
,文件内容如下:
production.json
{
"port": 7300,
"host": "0.0.0.0",
"pageSize": 30,
"proxy": false,
"db": "mongodb://root:123456@192.168.31.20:27017/easy-mock",