一、介绍
1.1 简单介绍
WireMock 是基于 HTTP 的模拟器。它具备 HTTP 响应存根、请求验证、代理/拦截、记录和回放功能。
当开发人员的开发进度不一致时,可以依赖 WireMock 构建的接口,模拟不同请求与响应,从而避某一模块的开发进度。
1.2 下载文件
自行下载启动 WireMock 服务的 jar 包。
1.3 启动服务
在 jar 包所在目录执行如下命令:
java -jar wiremock-standalone-2.13.0.jar --port 9999
启动后,如下图:
Java
更多参数请参考官方文档。
二、编写响应
WireMock 服务启动后,它现在还只是一个空壳,我们需要向服务添加请求规则与请求响应。
创建一个 maven 项目,编写 WireMock 客户端代码。
2.1 添加依赖
Java
2.2编写响应
Java
补充:
get():get 请求
withStatus:返回状态
withBody:返回数据
方法执行后,我们模拟的请求与响应就添加到 WireMock 服务中了。
打开浏览器访问 127.0.0.1:9999/user/1,效果图如下:
Java
三、优化
在实际业务代码中,调用某个接口不可能只返回简单的 JSON 字符串。如果将这些字符串写到上文的代码中,当需要修改数据结构时将是一个灾难,因此我们可将返回的数据写入到文件进行维护。
3.1 新建文件
在项目的 src/main/resources 目录下创建名为 user.txt(自定义),内容如下:
Java
3.2添加依赖
Java
3.3修改代码
Java
执行方法,打开浏览器访问127.0.0.1:9999/user/1,效果图如下:
Java
当我们需要为前端模拟新接口时,只需对 mock 方法传入不同参数运行即可。