如何通过Postman向Django REST框架发送带图片的嵌套JSON数据
Postman 提交含嵌套JSON、图片文件的POST请求操作指南
同时传输结构化嵌套数据和二进制文件时,必须使用multipart/form-data作为请求体格式,你已完成嵌套序列化器开发、无图片时接口运行正常的前提下,按以下步骤配置即可,无需调整后端代码:
操作步骤
- 打开Postman新建POST请求,填入目标接口地址,切换到Body标签页,选中
form-data选项,不要选择raw/x-www-form-urlencoded/binary类型。
- 打开Postman新建POST请求,填入目标接口地址,切换到Body标签页,选中
- 逐行配置form-data字段:
- 嵌套
user对象配置:键名输入user,该行值类型保持默认Text,不要选File,值的位置填入完整的user结构JSON字符串:{"name":"user name","email":"user@example.com","phone_number":"01XXXXXXXXX","user_type":"MGR"}注意:填入的JSON需保证语法合法,不要带多余缩进或换行,主流后端框架(如DRF、Spring Boot)会自动将该字符串解析为嵌套对象,和你之前传raw JSON时后端接收到的结构完全一致。不要把user拆成
user[name]/user[email]这类键名传,否则会和你现有嵌套序列化器的字段匹配逻辑冲突。 - 图片字段
img配置:键名输入img,该行右侧类型下拉选择File,值区域会出现文件选择按钮,选中本地要上传的图片即可;如果本次请求不需要传图,直接删除该行或留空即可,适配你设置的图片可选字段逻辑。 - 数组字段
manager_brands配置:两种兼容写法任选,优先选第一种:- 写法一:新增两行,键名均填
manager_brands,值类型选Text,两行值分别填2和1,绝大多数后端框架会自动将同键名的多个值识别为数组 - 写法二:如果写法一识别失败,直接新增一行键名
manager_brands,值填入JSON格式数组字符串[2,1]即可
- 写法一:新增两行,键名均填
- 不要手动在Headers标签里添加
Content-Type请求头,Postman选择form-data格式时会自动生成带正确boundary参数的Content-Type头,手动添加会导致boundary缺失、请求解析失败。
- 不要手动在Headers标签里添加
常见报错排查
- 提示嵌套字段解析失败:检查
user字段填入的JSON字符串是否语法正确,有没有漏引号、多逗号 - 提示文件接收失败:检查
img字段是否选对了File类型,有没有手动修改Content-Type头 - 提示数组字段格式错误:切换两种数组传参写法测试即可
内容的提问来源于stack exchange,提问作者AlexPy
相关产品推荐
相关产品推荐

