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

如何用Mockoon通过URL参数匹配数据桶中的硬编码Mock响应

Mockoon 匹配URL参数返回数据桶指定条目方法

你的问题出在数据桶的结构写法错误——把Mockoon的模板语法{{urlParam 'userId'}}直接作为对象键名,导致系统无法识别匹配逻辑,只能返回整个数组。按以下步骤调整即可实现参数匹配:

1. 修正数据桶结构

把每个用户的ID设为普通字段(比如id),去掉模板语法作为键名的写法,示例数据桶内容:

[
  {
    "id": "10000",
    "firstname": "John",
    "lastname": "Doe",
    "friends": []
  },
  {
    "id": "10001",
    "firstname": "Archie",
    "lastname": "Bunker",
    "friends": []
  }
]

假设这个数据桶的名称为users(需和后续模板中的名称一致)。

2. 在响应体中添加过滤模板

在API的响应体里,使用Mockoon的内置模板函数过滤数据桶:

{{data 'users' (find (data 'users') (equals 'id' (urlParam 'userId')))}}

模板逻辑说明

  • (data 'users'):获取名为users的整个数据桶数组
  • (equals 'id' (urlParam 'userId')):创建匹配条件——数组中对象的id字段等于请求URL的userId参数
  • find:从数组中筛选出符合条件的第一个对象
  • 外层{{data ...}}:输出匹配到的单个用户对象

3. 可选:添加无匹配时的默认响应

如果请求的userId不存在,会返回null,可以添加默认错误响应:

{{default (data 'users' (find (data 'users') (equals 'id' (urlParam 'userId')))) '{"error": "User not found"}'}}

注意事项

  • 确保数据桶名称和模板中的'users'完全一致
  • URL参数名要和API定义的userID大小写一致(Mockoon对参数名大小写敏感)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 23:20:40