誕生場景
為了讓前后端開發(fā)能并行,需要再后端還未開發(fā)完畢前,前端也能夠通過模擬的響應(yīng)進(jìn)行開發(fā)嫩挤。我們只需要有一個模擬的url返回的數(shù)據(jù)是和將來后端開發(fā)完畢后響應(yīng)的數(shù)據(jù)結(jié)構(gòu)一致即可籽御。
-
官網(wǎng)下載WireMock的jar包并啟動
進(jìn)入官網(wǎng)WireMock官網(wǎng)
操作步驟 編寫java代碼,調(diào)用WireMock服務(wù)器提供的接口去設(shè)置模擬響應(yīng)規(guī)則及內(nèi)容
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)
));
}
}
上面代碼對應(yīng)的模擬響應(yīng)數(shù)據(jù)存放在classpath:mock/response文件夾下的xxx.txt文件贴浙。
當(dāng)運行了該main方法后,服務(wù)器接收到請求后署恍,我們?nèi)ネ揥ireMock服務(wù)器端口發(fā)送請求時悬而,就能返回我們的模擬數(shù)據(jù)了。
如何理解WireMock?
說白了锭汛,就是一個web服務(wù)笨奠。啟動了該web服務(wù)后, 我們通過jar包提供的類唤殴,編寫規(guī)則方便我們往該web服務(wù)去提交我們想要模擬的響應(yīng)規(guī)則般婆。
后話
上面只是最簡單的示例, 還有各種更復(fù)雜朵逝,更加強(qiáng)的定制化功能蔚袍。可到官網(wǎng)去學(xué)習(xí)配名,研究啤咽。