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

如何在WireMock响应中动态引入请求体中的JSON内容?

WireMock动态映射请求体JSON字段的解决方案

要实现从请求体中动态提取id和带转义字符的message字段并生成符合要求的响应,可通过以下配置解决转义字符被篡改、JSON结构混乱的问题:

核心配置思路

利用WireMock的response-template扩展,通过三重括号{{{ }}}禁用HTML转义,同时结合请求体解析函数正确拼接JSON结构,确保message字段内的转义引号\"原样保留。

完整映射示例

{
  "request": {
    "method": "POST",
    "url": "/your-target-endpoint"
  },
  "response": {
    "status": 201,
    "body": "{{{ '{\"status\":\"CREATED\",\"id\":\"' (parseJson request.body).id '\",\"message\":\"' (parseJson request.body).message '\"}' }}}",
    "headers": {
      "Content-Type": "application/json"
    },
    "transformers": ["response-template"]
  }
}

配置说明

  • (parseJson request.body).id:将请求体解析为JSON对象后,直接提取id字段值
  • (parseJson request.body).message:提取请求体中已转义的message字符串,避免二次转义
  • 整个响应体用{{{ }}}包裹:禁用模板引擎的HTML转义逻辑,确保message内的\"不会被转换为"
  • transformers: ["response-template"]:必须启用该扩展才能使用模板语法

注意事项

启动WireMock时需确保加载response-template扩展,可通过命令行参数实现:

java -jar wiremock-jre8-standalone.jar --extensions com.github.tomakehurst.wiremock.extension.responsetemplating.ResponseTemplateTransformer

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 15:40:27