前后端分离的常见开发方式是:
后端:接收 http 请求->根据请求 url 及 params 处理对应业务逻辑->将处理结果序列化为 json 返回
前端:发起 http 请求并传递相关参数->获取返回结果处理相关逻辑
分离的主要目的是让前后端可以并行的进行工作,彼此之间只需要依赖一份接口文档
接口文档可能会使用一些文本工具进行记录,例如 word,excel 等
其中记录的内容可能为请求路径,请求类型,请求参数,响应参数,请求示例,响应示例,变更记录等
不过以上方式还存在那么一点不完美,那就是前端需要等待后端开发完接口才能有数据进行测试在此之前只能先画页面
这就有可能造成前端要等后端的情况,使工作变为串行
因此我想能否有办法可以消除这种情况,让前端不必等待后端
经过一段时间的摸索,我想可以做一个 mock server 来模拟前端需要的数据
当前端请求某个 url 时,mock server 会在其数据库中进行查询,匹配到这个 url 后就返回默认或者用户自定义的模拟数据
这样一来前端就可以在不依赖后端的情况下拿到数据进行测试了
但如果只是仅仅依赖 mock server,那么一些已开发的接口将无法得到正常的请求
那么问题就又变成了如何使正常接口与 mock 接口共存
很容易想到的就是使用 nginx 反向代理,将未开发完的接口匹配到 mock server,剩余的接口匹配正常程序
所以前端开发时自己启动一个 nginx,然后需要 mock 什么接口自己去配置即可
但是。。。。当接口很多时,前端得自己手动去配置 nginx,还要在对 nginx 进行重启等等操作,很繁琐
为了解决这个问题我又想能不能让这一切自动化的去完成
有一个客户端程序,自动的对 nginx 进行相关配置并启动 nginx,将开发中的接口转发给 mock server,将其余接口转发给正常程序
显然这个思路是可行的,为了让程序好用,客户端制作成了 GUI,并且打包成了 exe,使以上 nginx 配置步骤变为一键操作
https://github.com/github20120522/docdoc
https://github.com/github20120522/docdochelper
不知道大家是否也是类似的开发模式,有没有类似需求,希望这款工具能有所帮助
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.