DXY-F2E / api-mocker
- вторник, 19 сентября 2017 г. в 03:14:44
Api Mocker is more of an api management system than a mocker
API Mocker,不仅仅是Mocker,它致力于解决前后端开发协作过程中出现的各类问题,提高开发效率,对接口做统一管理,同时也能为后续的迭代维护提供更便捷的方式。
API Mocker提供操作简单但功能丰富的接口编辑,接口约定者能方便的设置接口的各类信息,其中:
query
,body
,path
, header
)string
,number
,boolean
,object
,array
)API Mocker认为,mock不仅仅体现在返回数据中,mock请求本身也应该符合接口约定。因此,我们提供更加符合业务场景的mock服务。
200
,404
,500
。API Mocker会根据接口约定自动生成简洁优美、结构清晰的接口文档。同时,可以订阅接口,当接口发生变化时,及时收到邮件通知。
API Mocker提供简单易用的权限控制。
安装依赖外部命令(mongod
)
make install
同时该命令也会确保mongod
的启动,如果未启动会在本地建立db
目录,并启动mongod
.
如果服务器新开机可重新执行make install
确保数据库启动.
make client
或者 cd client && npm install && npm run dev
make server
或者 cd server && npm install && npm run dev
make prod_client
或者 cd client && npm install && npm run build
make prod_server
或者 cd server && npm install && npm start
默认端口号为7001
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
需要https支持的话,证书路径的配置在入口 server/index.js
中。其他服务端的配置都在 server/config
目录下。其中:
clientRoot
: 客户端地址,目前仅在发送提示邮件中有作用;
transporter
: 邮件推送的相关配置,请设置自己推送邮箱。有些邮件服务商安全策略比价高,会发生推送错误,请自行充分测试。如果未配置,则系统不推送提示邮件;
pushInterval
: 邮件推送的时间间隔配置。目前仅只针对api修改这一项配置;
mongoose
: mongoDB的相关配置;
bodyParser.jsonLimit
: 接口请求信息最大限制。因为接口更新时,数据量比较大,所以得设置一下。
其他相关配置,请看文件注释以及egg.js文档中相关内容。
客户端配置在 client/config/index.js
中。其中:
docsUrl
: 文档地址,可自行配置到自己的git仓库;
serverRoot
: 服务端接口根路径;
assetsPublicPath
: 静态文件公共路径,所有的静态文件资源地址,以此路径开头。请根据自身发布需求配置。
其他相关配置,请参考vue-cli脚手架webpack模板
假设api-mocker项目文件夹路径为 __api_mocker_path
网络域名为 your-mocker.com
server {
listen 80;
server_name localhost;
location /mock-api/ {
proxy_pass http://127.0.0.1:7001/;
}
location /mock {
autoindex on;
alias __api_mocker_path/client/dist;
}
}
client/config/index.js
文件下的serverRoot
,改为 your-mocker.com/mock-api
http://your-mocker.com/mock
注: 若是服务器带宽较低,可将客户端部署到cdn,配好路由,每次发布重新更新下dist目录下
index.html
文件缓存。或者只把client/dist/static
目录同步到cdn,自己nginx再做转发配置