交代背景
在工作的过程中,前后端工程师一般都是并行工作的,假如移动端工程师(Android ,ios)、Web工程师(公司主站)需要我后端的一个接口,或者需要知道后端会返回怎样的数据格式时,此时后端可能还在撸逻辑,或者说还在不停的修改逻辑或者重构代码,这个时候就比较尴尬啦!你可能会觉得他们自己就可以模拟相关HTTP接口,REST服务等…
引发问题
但是这样做,会有点问题,就是他们每个人都需要模拟这部分代码,并且可能每个人的理解都不相同,并且每个人做出的接口响应格式和传输格式,与后端设计出现的又有部分出路。
- 增加前端,移动端工程师的工作量
- 因为可能的理解偏差或者个人风格不同,设计出来的接口和后端的接口又不相同,增加继续沟通成本
- 假如项目需要重构或者修改部分逻辑,导致前段后端又需要重新设计
归根到底,解决这些问题最核心的原因就是后端控制;可以先设计REST服务(模拟服务),共前端,移动端开发者调用,后端也可以继续围绕着设计出的模拟服务去实现,一举两得。
WireMock 登场
启动服务
1 | ➜ ~ cd ~/wiremock |
编写MockServer代码
Maven 配置
1 | <!-- https://mvnrepository.com/artifact/com.github.tomakehurst/wiremock --> |
核心代码
1 | public class MockServer { |
响应格式列表
1 | { |
1 | { |