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

Wiremock JSON模板问题:basicAuth与doesNotMatch配置失效报错

Wiremock映射文件加载错误的解决思路

问题根源

你的JSON映射文件中,basicAuth字段的配置语法不符合Wiremock规范:Wiremock的basicAuth配置不支持直接在username字段下嵌套doesNotMatch匹配器,这种写法会导致映射文件解析失败,触发MappingFileException。

解决方法

方法1:通过Authorization请求头匹配(兼容所有Wiremock版本)

Basic认证的核心是请求头中的Authorization字段,格式为Basic <base64编码的username:password>。你可以直接匹配这个头字段,判断其是否不符合预期值:

{
  "request": {
    "method": "GET",
    "url": "/basicAuth",
    "headers": {
      "Authorization": {
        "doesNotMatch": "^Basic dXNlcm5hbWU6cGFzc3dvcmQ=$"
      }
    }
  },
  "response": {
    "status": 401
  }
}

注:dXNlcm5hbWU6cGFzc3dvcmQ=是username:password的Base64编码结果,可根据实际需求替换。

方法2:使用Wiremock支持的BasicAuth匹配语法(需Wiremock 2.27+版本)

如果你的Wiremock版本在2.27及以上,可以使用credentials匹配器直接验证用户名密码组合:

{
  "request": {
    "method": "GET",
    "url": "/basicAuth",
    "basicAuth": {
      "credentials": {
        "doesNotMatch": "^username:password$"
      }
    }
  },
  "response": {
    "status": 401
  }
}

额外检查项

  • 确认JSON文件语法无误:检查是否有遗漏的逗号、未闭合的引号或多余空格。
  • 验证Wiremock版本:若使用方法2,确保版本支持credentials匹配器,旧版本建议升级或改用方法1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 18:30:07