Postman Mock接口始终返回200状态码问题求助
解决Postman Mock Server按请求头区分示例无效的问题
核心问题原因
Postman Mock Server匹配示例时,默认会按创建示例的顺序优先匹配第一个符合条件的请求,如果你的200状态码示例排在最前面,且未设置精准请求头匹配规则,就会被优先命中,导致其他示例无法触发。
具体修复步骤
1. 给每个示例添加精准请求头匹配规则
进入对应示例的编辑界面,找到「Request Headers」区域:
- 200示例:添加
id_user请求头,值设为121,勾选「Match exactly」(精准匹配) - 400示例:添加
id_user请求头,留空值,勾选「Match exactly」 - 500示例:添加
id_user请求头,值设为0,勾选「Match exactly」 - 300示例同理,补充对应
id_user的匹配规则
2. 调整示例匹配顺序
把匹配规则更严格的示例(比如400、500示例)放在列表最上方。Postman会从上到下依次匹配示例,若宽松规则的示例(如200)排在前面,会直接拦截请求,后续示例无法生效。
3. 验证请求头传递准确性
发送请求时确认id_user头的格式和示例设置完全一致:
- 检查是否存在大小写错误(Postman请求头默认不区分大小写,但精准匹配时需严格对应)
- 400场景要确保确实未传递
id_user头,或头值为纯空字符串
4. 检查Mock Server全局配置
进入Mock Server设置界面,确认未开启「Ignore query parameters and headers」类忽略请求头的全局选项,该设置会直接导致所有请求头匹配规则失效。
测试验证
设置完成后分别发送对应请求:
- 携带
id_user:121→ 应返回200 - 未携带
id_user或值为空 → 应返回400 - 携带
id_user:0→ 应返回500 - 对应300场景的请求头 → 应返回300
内容的提问来源于stack exchange,提问作者Brea
相关产品推荐
相关产品推荐

