这是我的实用工具类嘲笑服务REST API与wiremock嘲讽:JAVA
public class MockService {
public static void bootUpMockServices() throws IOException {
String orderServiceSpecification = readFile("mappings/orderServicesSpecifications.json", Charset.defaultCharset());
String singleOrder = readFile("mappings/singleOrder.json", Charset.defaultCharset());
WireMock.stubFor(WireMock.get(WireMock.urlEqualTo("/orders"))
.willReturn(WireMock.aResponse()
.withStatus(200)
.withBody(orderServiceSpecification)));
WireMock.stubFor(WireMock.get(WireMock.urlEqualTo("/orders/1"))
.willReturn(WireMock.aResponse()
.withStatus(200)
.withBody(singleOrder)));
}
public static String readFile(String path, Charset encoding)
throws IOException {
byte[] encoded = Files.readAllBytes(Paths.get(path));
return new String(encoded, encoding);
}
}
正如你可以看到我嘲笑一个GET调用/orders
(所有的订单),并用身体与响应所有的订单保存在一个json文件中。
我还打电话给一个单一的订单,通过致电/orders/1
。我用文件中的JSON对象来回应它。但我希望它是动态的。就像当我用orders/30
击中它时,我应该动态获取id=30
的订单并进行渲染。
你可以添加你的json文件的内容吗? – Areca
@阿雷卡。他们只是带有JSON数组的文件。我没有看到它们的内容的相关性。你为什么这样问? –
如果你的singleOrder.json只有一个项目,你会如何使它动态? – Areca