Postman发送对象数组关键在于后端期望格式与请求头匹配:必须设置Content-Type: application/json,Body选raw并指定JSON格式,JSON需合法,Spring Boot用@RequestBody List接收,GET不可直接传嵌套JSON数组。

Postman 发送对象数组,关键不在“怎么填”,而在“后端 expecting 什么格式 + 请求头是否匹配”。填错格式或漏设 Content-Type,后端大概率收不到或解析为空。
POST 请求体发 JSON 对象数组:必须设 Content-Type: application/json
这是最常见也最容易翻车的场景。比如你要传一个用户列表:
[{"name":"Alice","age":28},{"name":"Bob","age":31}]
但直接粘进去点 Send,后端却收到空数组或 400 错误——大概率是没配请求头。
- 点击 Headers 标签页,在 Key 输入
Content-Type,Value 填application/json(Postman v10+ 选 Body → raw → JSON 会自动加,但老版本或手动编辑时容易漏) - Body 选
raw,右侧下拉菜单务必选JSON(不是 Text,不是 JavaScript,否则不会自动加 header 且可能编码异常) - JSON 必须合法:所有 key 和 string 值都用英文双引号,末尾不能有多余逗号,不能用中文引号或单引号
- 如果后端用 Spring Boot,接收方式应为
@RequestBody List<user> users</user>;用 Gin 则用c.ShouldBindJSON(&users)
GET 请求传对象数组:只能扁平化,别硬塞 JSON 字符串
HTTP GET 的 query string 不支持嵌套结构,?users=[{"name":"A"}] 这种写法后端几乎无法原生解析,而且 URL 编码后极易出错或被截断。
Postman Mac版是一款专为macOS设计的API开发与测试工具,凭借简洁的界面和强大的功能,深受开发者喜爱。它支持发送各种HTTP请求(GET、POST、PUT等),轻松管理接口集合、环境变量和模拟服务器。Mac用户可享受原生性能、快捷键优化及与系统无缝集成的体验,适用于接口调试、自动化测试和文档生成。无论是个人项目还是团队协作,Postman for Mac都能提升API开发效率,是ma
- 正确做法是退回到「字段级展开」:把数组每个对象拆成重复参数,例如
?name=Alice&age=28&name=Bob&age=31,再由后端按顺序配对组装 - 更稳妥的是用方括号语法传简单数组(非对象):
?userIds[]=1&userIds[]=2,适用于 ID 列表等一维数据 - 真要传对象数组又必须走 GET?那只能前端 JSON.stringify 后 URL 编码,后端手动
URLDecode → JSON.parse,但长度受限(URL 一般不超过 2048 字符),不推荐
Gin / Spring Boot 接收差异:决定你前端怎么发
同一份 Postman 请求,后端框架不同,接收代码写法和容错能力差别很大。
- Gin 中
c.ShouldBindJSON(&users)要求请求体是纯 JSON 数组,且结构必须匹配 struct tag(如json:"name");若用c.QueryArray("id")则只适用于 GET 的id[]=1&id[]=2形式 - Spring Boot 的
@RequestBody List<user></user>能直接绑定 JSON 数组,但若写成@RequestParam List<user></user>就完全无效——后者只认 query 参数,且不支持对象嵌套 - Java 里用
@RequestParam String users接收再手动JSONArray.parseArray(users, User.class)是可行的兜底方案,但多了一层解析成本和异常风险
调试时一眼定位问题:看 Network 面板的 Request Payload 和 Response Header
别只盯着 Postman 的 “Send” 按钮结果。真正卡住的地方往往藏在细节里。
- 打开浏览器 DevTools 或 Postman 自带的 Console(View → Show Postman Console),看发出的请求里
Request Payload是否是你粘贴的原始 JSON(而不是被转成 form-data 或乱码) - 检查响应状态码:415 表示
Content-Type不匹配;400 多半是 JSON 格式错误或后端绑定失败;200 但数据为空,先确认后端日志是否真的收到了 body - 如果后端返回
Required request body is missing,99% 是没设Content-Type: application/json或 Body 没选对 raw + JSON 模式
对象数组不是“能发出去就行”,而是“发得让后端能原样映射”。格式、头、方法、框架特性四者咬合不上,就卡在第一跳。
















