近日项目需求 使用mock-server来提供虚拟数据(API),方便在服务被调用方没有开发好的情况下,服务调用方能不被耽误的继续进行开发 。
我们的情况大概是这样:
我们的服务去调用 另一方提供的服务,另一方的服务可能还没有开发好,为了方便项目如期交付,他们只能做一次符合他们那边规则的数据,并且做一次数据非常麻烦,并把接口提供给我们。 我们只能通过接口一次访问数据,并把数据保存到movkServer,下次访问同样的链接,就要被路由到mockServer,而不会去掉用真实的服务(因为对方做一次数据很麻烦,所以原因你懂)。以此为背景。
鉴于为了减少代码开发量,我在网上寻找了几个可行的mock-server ,发现可能一些地方不能满足项目需求,找到的有
--- 雪里大神的 xxl-api 界面挺不错,但是暂时不支持设置RequestBody类型,raw类型参数,即对post提供的支持性不是很好。注意:已经看到放在TODO列表中,后续可能会支持。
--- Mock Server 这个也稍微有点不满足需求。
最后 找到 easy-mock ,经过测试发现 提供的功能,支持项目的需求。
网址如下: easy-mock
采用的是Node开发的,后端存储 mongodb + redis
如果想部署在本地,gitHub地址如下: easy-mock
使用文档如下: 使用说明
特性: 支持主流的method ,例如post,get,delete等,另外可提供虚拟数据,也可以代理真实服务。重要的是支持swagger导入。
下面展示下:搭在自己服务器上的easy-mock:
已经添加的两个接口:
如果想代理接口,返回真实数据:
点编辑接口 : 将里面的内容设置为真实的服务地址 即可
这是一个post提交新增的数据, 点击预览,就可以进行测试了。注意预览的时候,把数据放在body中。展示如下:
也可以手动编写虚拟的数据:
例如 编辑接口时, 按照其格式写入数据:例如:
其他功能就不在展示,这是一个比较好用的工具, 其官方文档写的也比较清晰。 感谢开源,感谢开发者。