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

Wiremock中二级优先级请求何时触发?触发失败问题咨询

Wiremock二级优先级请求触发问题解决方法
  • 明确优先级核心逻辑:Wiremock中优先级数值越小,优先级越高。如果一个请求同时匹配多个stub,会优先触发优先级数值更小的那个。你现在触发不了二级,大概率是目标请求同时符合一级stub的匹配规则,导致被一级拦截。

  • 让二级请求避开一级的匹配范围:
    检查一级stub的匹配条件,比如是否用了宽泛的通配符(如urlPattern: "/api/.*")覆盖了二级请求的路径。需要收紧一级的规则,比如把通配符改成精确路径:
    原一级stub(覆盖所有/api开头请求):

    {
      "request": { "urlPattern": "/api/.*" },
      "response": { "status": 200 },
      "priority": 1
    }
    

    修改后一级stub(仅匹配特定路径):

    {
      "request": { "url": "/api/common" },
      "response": { "status": 200 },
      "priority": 1
    }
    

    这样二级请求(如/api/special)就不会被一级规则匹配到,自然会触发二级stub。

  • 验证二级stub的匹配条件是否完全命中:
    确认二级stub的所有匹配规则(请求方法、header、query参数、body内容等)和实际请求完全一致。比如二级要求POST方法且带X-User-Type: "secondary" header,但实际请求是GET或没带该header,就会匹配失败,转而触发一级stub。

  • 按需调整优先级(如果需要二级优先于特定请求):
    如果某些请求需要同时匹配一级和二级规则,但你希望触发二级,可以把二级的优先级数值设得比一级更小(比如一级设为2,二级设为1)。比如:
    二级stub(优先匹配带特定参数的请求):

    {
      "request": {
        "url": "/api/data",
        "queryParameters": { "level": { "equalTo": "2" } }
      },
      "response": { "body": "Secondary Response" },
      "priority": 1
    }
    

    一级stub(匹配其他/api/data请求):

    {
      "request": { "url": "/api/data" },
      "response": { "body": "Primary Response" },
      "priority": 2
    }
    

    此时请求/api/data?level=2会触发二级,其他/api/data请求触发一级。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 10:05:31