如何在wiremock中将参数添加到存根响应体?

时间:2018-01-05 09:58:49

标签: java json rest server wiremock

我正在使用wiremock来存根依赖服务的响应。我需要使用真实数据,因为我的系统需要数据才能正常工作。我有一个json,其中包含API调用的存根响应。它看起来像这样:

{
  "request": {
    "method": "GET",
    "urlPattern": "/path"
  },
  "response": {
    "status": 200,
    "jsonBody": [
      {
        "secret": "secretInfoHere"
      }
    ],
    "headers": {
      "Content-Type": "application/json"
    }
  }
}

我想知道是否可以隐藏该JSON中的 secret 值,并在运行时从示例的env var中插入该信息。

理想情况下,秘密看起来像这样:

"secret": ${SECRET_VALUE}

"secret": ""

我读过这一部分,但它并没有像我想象的那样有用:http://wiremock.org/docs/response-templating/

2 个答案:

答案 0 :(得分:0)

响应模板不会在其模型中使用环境/系统变量,因此您不幸地无法在此实例中使用它。

现在最好的选择是写一个JFrame frame = new JFrame(""); frame.setFocusableWindowState(false); frame.toBack(); 的实现,它读取配置值并执行字符串替换。我怀疑这只是几行代码。

文档:http://wiremock.org/docs/extending-wiremock/

答案 1 :(得分:0)

我设法通过采用与此处可以找到的方法类似的方法来解决此问题:https://groups.google.com/forum/#!topic/wiremock-user/QZyrzhvReZE

我基本上创建了一个扩展ResponseTransformer的新类,然后我重写了transform方法。