You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WireMock中如何通过请求体动态选取Transformer Parameters参数?

WireMock动态通过请求体选择Transformer参数的实现方法

我尝试将请求体用作查找依据,添加Transformer参数后需通过JSON查询选择正确的参数。示例Stub代码如下:

stubFor(
    post("/test")
      .willReturn(
        aResponse()
          .withBody("{{ parameters.(jsonPath request.body '$.body') }}")
          .withTransformerParameter("data", "newData")
      )
)

当发送请求体{ "body": "data" }时,期望返回字符串"newData"。单独使用{{jsonPath request.body '$.body'}}可返回data,单独使用{{ parameters.data }}可返回"newData",但嵌套写法会报错:

could not find helper parameters.

可行写法

使用Handlebars的lookup助手实现动态属性访问,修改后的Stub代码如下:

stubFor(
    post("/test")
      .willReturn(
        aResponse()
          .withBody("{{lookup parameters (jsonPath request.body '$.body')}}")
          .withTransformerParameter("data", "newData")
      )
)

lookup助手的作用是动态获取对象属性:第一个参数传入要查找的对象parameters,第二个参数传入通过jsonPath从请求体中提取的属性名data,这样就能正确从Transformer参数中取出对应的值返回。

内容的提问来源于stack exchange,提问作者ValSmith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 03:15:58