运行 针对 Wire-Mock 请求的自定义代码

Run custom code against a Wire-Mock request

WireMock 是否允许我们针对特定请求运行 一些任意代码?

因此,例如,如果 API 模拟公开一个 POST 端点以添加新项目,另一个 GET 端点以获取目前已添加的所有项目。因此,我们可以在 WireMock 端保留一个集合,并在 POST 和 return GET 时向集合中的所有项目添加项目。

我们将如何实现?

找到了。如果它对任何人有帮助,您可以使用 Response 对象的 WithCallback() 函数(而不是我正在搜索的 WireMockServer 对象)在将响应返回给客户端之前调用任意函数。看起来像这样:

Server.Given(Request.Create().WithPath("/entries/get").UsingGet())
  .RespondWith(Response.Create()
      .WithHeader("Content-Type", "application/json")
      .WithCallback(req => {
        //do whatever function you want to call here
        return new ResponseMessage
        {
          BodyData = new BodyData() { BodyAsJson = DATA_OBJECT_TO_RETURN }
        };
       })
      .WithStatusCode(200));