欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > Mock神器:Easy-Mock 私有化部署及使用介绍

Mock神器:Easy-Mock 私有化部署及使用介绍

2025/4/19 1:20:02 来源:https://blog.csdn.net/weixin_44002151/article/details/144357387  浏览:    关键词:Mock神器:Easy-Mock 私有化部署及使用介绍

th.jpg

在现代前后端分离的开发模式中,后端接口的数据模拟是一个常见且必要的需求。尤其是在后端接口尚未开发完成时,前端开发需要依赖模拟数据进行开发与测试。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

_20241209153404.jpg

私有化部署

我直接使用的是docker部署的,作者再dockerhub上提供了一个镜像https://hub.docker.com/r/easymock/easymock

_20241209154219.jpg

此服务依赖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:latestcommand: /bin/bash -c "npm start"ports:- 7300:7300volumes:# 日志地址,根据需要修改为本地地址- ./logs:/home/easy-mock/easy-mock/logs# 配置地址,请使用本地配置地址替换- ./production.json:/home/easy-mock/easy-mock/config/production.json# 上传文件- ./public:/home/easy-mock/easy-mock/publicrestart: 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","unsplashClientId": "","redis": {"keyPrefix": "[Easy Mock]","port": 6379,"host": "192.168.31.20","password": "123456","db": 0},"blackList": {"projects": [],"ips": []},"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": "","bindDN": "","password": "","filter": {"base": "","attributeName": ""}},"fe": {"copyright": "","storageNamespace": "easy-mock_","timeout": 25000,"publicPath": "/dist/"}
}

需要注意修改的配置文件是mongodb的连接地址,用户密码及数据库,redis的连接地址及密码

启动服务

配置好之后,在docker-compose.yml同级目录下执行以下命令启动服务

docker-compose up -d 

查看容器启动日志:

docker-compose logs -f

如果出现以下日志:

_20241209094336.jpg

则为日志文件权限问题,给挂载日志目录logs赋予权限

sudo chmod -R 777 logs

之后重启容器,出现以下日志则说明启动成功了

_20241209160805.jpg

服务使用

在浏览器中打开地址 http://192.168.31.20:7300 打开服务,输入用户名密码登录系统,如果用户之前没有,则会注册

_20241209164213.jpg

登录之后创建项目,创建接口,具体步揍可查看文档
_20241209164422.jpg

我们创建接口之后配置响应数据,Easy Mock 引入了 Mock.js,下面我们演示两个接口。更详尽的用例及文档请参考 Mock.js 官网。

  • 配置响应数据(随机数据)
{"code": 200,"data|10": [{"string|1-2": "@string","integer": "@integer(10, 30)","float": "@float(60, 100, 2, 2)","boolean": "@boolean","date": "@date(yyyy-MM-dd)","datetime": "@datetime","now": "@now","url": "@url","email": "@email","region": "@region","city": "@city","province": "@province","county": "@county","upper": "@upper(@title)","guid": "@guid","id": "@id","image": "@image(200x200)","title": "@title","cparagraph": "@cparagraph","csentence": "@csentence"}]
}

_20241209165001.jpg

数据响应

_20241209165156.jpg

  • 配置响应数据(函数)
{code: function({_req}) {if (_req.body.username && _req.body.password && _req.body.username === 'admin' && _req.body.password === '111') {return 200} else {return 500}},token: function({_req}) {if (_req.body.username && _req.body.password && _req.body.username === 'admin' && _req.body.password === '111') {return "1111"} else {return}},msg: function({_req}) {if (_req.body.username && _req.body.password && _req.body.username === 'admin' && _req.body.password === '111') {return "成功"} else {return "失败"}}}

数据响应

_20241209165619.jpg

_20241209165638.jpg

总结

Easy-Mock 是一个非常实用的模拟数据工具,尤其在前后端分离开发的场景中,可以极大地提高前端开发效率。通过将 Easy-Mock 部署为私有化服务,你可以完全掌控模拟数据的生成和管理,同时保障数据的安全性和隐私性。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词