路径参数必须写在URL栏中替换占位符(如/users/123),不可填入Params标签页;查询参数须通过Params标签页添加,由Postman自动编码并拼接至URL末尾。

路径参数和查询参数在Postman里根本不是“选哪个”的问题,而是“后端接口怎么定义的”——你填错位置,后端就收不到值。
路径参数必须写在URL栏里,不能进Params标签页
路径参数是URL路径的固定组成部分,比如 /users/{id} 中的 {id}。Postman不识别 {id} 这种占位符,它只认你填进去的真实值。
- 正确做法:直接把
{id}替换成具体值,比如把 URL 改成https://api.example.com/users/123 - 错误做法:在 Params 标签页里加一条
id=123—— 这会变成查询参数?id=123,后端用@PathVariable拿不到 - Spring Boot 后端若用
@PathVariable("id") Long id,就必须靠 URL 路径里真实存在/123这一段才能绑定 - Postman 不会帮你“自动替换占位符”,所谓“Path Variables”只是界面提示,实际发送时必须是完整、可访问的 URL
查询参数统一走Params标签页,别手敲URL
查询参数本质就是 URL 问号后面那一串 key=value,但手动拼容易出错,尤其含中文或特殊字符时。
Postman Mac版是一款专为macOS设计的API开发与测试工具,凭借简洁的界面和强大的功能,深受开发者喜爱。它支持发送各种HTTP请求(GET、POST、PUT等),轻松管理接口集合、环境变量和模拟服务器。Mac用户可享受原生性能、快捷键优化及与系统无缝集成的体验,适用于接口调试、自动化测试和文档生成。无论是个人项目还是团队协作,Postman for Mac都能提升API开发效率,是ma
- 正确做法:点 Params 标签页,填
key和value,Postman 自动做 URL 编码并拼到 URL 末尾 - 错误做法:在 URL 栏里手动写
?name=张三&sort=date—— 一旦漏了&或没编码空格,请求就失败 - 注意:GET 请求的 Params 是有效的;POST 请求也能带 Params,但语义上不推荐——这类参数通常该放 Body
- 后端用
@RequestParam接收时,required=false的参数如果没传,就不会出现在 Params 列表里,别误以为是 Postman 漏填
Body参数和Params互不替代,尤其别在GET里塞Body
HTTP 协议规定 GET 请求没有 body,Postman 允许你点 Body 标签页填内容,但绝大多数服务端框架(如 Spring Boot)会直接忽略它。
- GET 请求填了 Body ≠ 后端能收到 —— 实测
curl -G --data "a=1" http://localhost:8080/test也会被丢弃 - POST/PUT/PATCH 才该用 Body:选
raw(JSON)、form-data(文件上传)、x-www-form-urlencoded(表单) - Body 里的字段名必须和后端
@RequestBody对应的 DTO 字段名一致,大小写敏感;而 Params 是按 key 名匹配,不依赖对象结构 - 一个常见坑:前端说“传了 {“user”: {“name”: “A”}}”,你用 raw JSON 发过去,后端却报 400 —— 很可能因为 Content-Type 没设成
application/json
最容易被忽略的一点:Postman 的 URL 输入框显示的是最终发出的地址,不是你的“输入草稿”。每次改 Params 或手动编辑 URL,都得回头确认它是不是你真想发的那个样子——特别是路径参数混着查询参数时,/users/123?include=posts 和 /users?include=posts&id=123 看似相似,后端路由完全不认同一个控制器方法。










