诞生场景
为了让前后端开发能并行,需要再后端还未开发完毕前,前端也能够通过模拟的响应进行开发。我们只需要有一个模拟的url返回的数据是和将来后端开发完毕后响应的数据结构一致即可。
-
官网下载WireMock的jar包并启动
进入官网WireMock官网
操作步骤
-
编写java代码,调用WireMock服务器提供的接口去设置模拟响应规则及内容
public class MockServer {
public static void main(String[] args) throws IOException {
WireMock.configureFor(8062);
WireMock.removeAllMappings();
mock("/order/1", "01");
}
private static void mock(String url, String fileName) throws IOException {
ClassPathResource fileSource = new ClassPathResource("/mock/response/"+fileName + ".txt");
String content = FileUtils.readFileToString(fileSource.getFile(), "utf-8");
WireMock.stubFor(get(WireMock.urlPathEqualTo(url))
.willReturn(aResponse().withBody(content)
.withStatus(200)
));
}
}
上面代码对应的模拟响应数据存放在classpath:mock/response文件夹下的xxx.txt文件。
当运行了该main方法后,服务器接收到请求后,我们去往该WireMock服务器端口发送请求时,就能返回我们的模拟数据了。
如何理解WireMock?
说白了,就是一个web服务。启动了该web服务后, 我们通过jar包提供的类,编写规则方便我们往该web服务去提交我们想要模拟的响应规则。
后话
上面只是最简单的示例, 还有各种更复杂,更加强的定制化功能。可到官网去学习,研究。
网友评论