これは、サービスをモックするための私のユーティリティ クラスです。
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 ファイルに保持されているすべての注文を本文で応答しています。
また、単一の注文を GET call で呼び出しています/orders/1
。ファイル内の JSON オブジェクトで応答しています。しかし、私はそれを動的にしたいと考えています。then でヒットしたときのようにorders/30
、動的に順序を取得しid=30
てレンダリングする必要があります。