【问题标题】:Wiremock capture response body for later reuseWiremock 捕获响应主体以供以后重用
【发布时间】:2020-03-31 22:53:48
【问题描述】:

我在使用 Wiremock 独立 API 时遇到了一个特定的用例。

我希望能够重用通过存根对另一个请求(以及存根)生成的响应主体作为上下文模型。目的是为生成的 Id 存储整个响应数据,这将允许我在知道 Id 的情况下再次提供它,特别是在 get 方法中(没有请求正文)。 有没有办法在定义一个响应存根来捕获生成的响应,以便存储它?

或者如果您有其他更好的想法。

【问题讨论】:

  • 你能详细说明一下用例吗?我很困惑为什么您不想重新生成相同的响应并使请求匹配更通用以允许将多个输入动态映射到单个映射。
  • 例如,您从请求正文信息中获得了第一个生成的响应。响应会生成一个指向请求数据的 id。下一个请求是一个没有正文的 GET,但有一个与生成的 ID 对应的 url 路径。我想返回相同的预览响应,例如修改数据...
  • 对我来说听起来你想要有状态的行为。 WireMock 对此有一些支持。 documentation 对此进行了解释,具体取决于您的用例,这可能就足够了。你已经看过了吗?

标签: java wiremock


【解决方案1】:

最后我通过使用 okhttp 拦截器解决了这个问题(这取决于您的客户端解决方案)。

在拦截器中,我存储每个响应数据(例如:生成的 ID),并在与存储的部分响应匹配时将它们设置在每个下一个请求标头中。

将它们添加到请求标头允许我在 json 模板文件中访问它们

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多