如何在Postman中通过form-data传递二维数组并正确接收?
Postman传递multipart/form-data二维数组到Go服务的操作步骤
1. 基础请求配置
- 请求方法设为
POST,填入你的接口地址 - 无需手动在Headers里设置
Content-Type: multipart/form-data,Postman会自动识别form-data类型并生成正确请求头
2. form-data参数填写
切换到Body标签,选择form-data类型,按以下规则添加参数:
- 第一组:Key填
workplace[0][],Value填1 - 第二组:Key填
workplace[0][],Value填2 - 第三组:Key填
workplace[1][],Value填2 - 第四组:Key填
workplace[1][],Value填3 - 第五组:Key填
workplace[2][],Value填4 - 第六组:Key填
workplace[2][],Value填5
部分Go表单解析框架支持更简洁的写法,也可以重复使用同一个Key:
- 多次添加Key为
workplace[][]的参数,依次填入1、2、2、3、4、5
3. 服务端解析验证
确保你的Go服务使用的表单解析库(如gin、gorilla/schema)支持二维数组解析,以gin框架为例,绑定代码示例:
func yourHandler(c *gin.Context) { var req Request if err := c.ShouldBind(&req); err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) return } // 此时 req.Workplace 应为 [[1,2],[2,3],[4,5]] c.JSON(http.StatusOK, req) }
常见问题排查
- 确认结构体的
form标签workplace[][]未写错,这是框架识别二维数组的关键 - 参数Value直接填数字,不要添加引号或其他格式
- 若解析失败,检查使用的框架是否支持这种二维数组的form-data格式,部分框架可能需要自定义解析逻辑
内容的提问来源于stack exchange,提问作者JJT
相关产品推荐
相关产品推荐

