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

stubby中同一PATCH请求端点如何根据请求体参数返回多组响应

问题核心原因

你当前的配置仅匹配了请求路径、请求方法和Content-Type请求头,没有针对请求体中的testVar字段做匹配约束,所以无论传入什么参数都会命中默认规则返回test-1.json。你之前配置查询参数不生效,是因为查询参数匹配的是URL后缀的拼接参数,而你的参数是放在PATCH请求的Body体中,二者匹配规则不通用。

配置方案

你需要为两种参数场景分别配置独立的带请求体匹配规则即可,以常用的Moco、WireMock等Mock服务框架的YAML配置为例:

# 匹配testVar值为1111的请求
- request:
    url: ^/api/test
    method: PATCH
    headers:
      Content-Type: application/json
    json_paths:
      - path: "$.testVar"
        value: "1111"
  response:
    headers:
      Content-Type: application/json
    status: 200
    file: response/test-1.json

# 匹配testVar值为2222的请求
- request:
    url: ^/api/test
    method: PATCH
    headers:
      Content-Type: application/json
    json_paths:
      - path: "$.testVar"
        value: "2222"
  response:
    headers:
      Content-Type: application/json
    status: 200
    file: response/test-2.json

规则说明

  • 配置中使用json_paths参数做JSON请求体的字段匹配,$.testVar是JSONPath表达式,可精准匹配请求体中根节点下的testVar字段值
  • 规则匹配遵循「精准规则优先级高于通用规则」的逻辑,带有请求体约束的规则会先被匹配,对应返回绑定的文件内容
  • 如果你使用的是其他Mock框架,核心逻辑一致:新增两条带请求体JSON字段匹配的规则,分别绑定不同的返回文件即可,不需要额外编写业务代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:30:03