如何使用Postman发送嵌套的表单数据?

13
假设我有以下数据,
{
    "name":"John",
    "age":30,
    "cars": 
    {
        "car_img_1":"car_img_file1",
        "car_img_2":"car_img_file2",
        "car_img_3":"car_img_file3"
    }
 }
我如何使用 POSTMANform-data 发送它呢?

注:
1. car_img_fileX 将是文件(.jpg,.png等类型)
2. 我试过的-->> POSTMAN 屏幕截图.
3. 简单服务器使用 Django 框架构建


当前输出
接收到 5 种不同的项目/数据,而不是嵌套数据-->请参见此Pycharm 调试器输出

我最近对此的回答 - https://dev59.com/irnoa4cB1Zd3GeqPOVJE#76834070 - jeevu94
3个回答

8

试试这个:

cars[0][car_img_1]:car_img_file1
cars[1][car_img_2]:car_img_file2

你可以在“批量编辑”模式下插入它。

在我的请求数据中,整个键值都是一个字符串('cars [0] [car_img_1]': ['car_img_file1']),因此序列化程序无法验证数据。你能告诉我该怎么做吗? - Sam

1
我在this问题中找到了这个答案。 根据您的代码进行了编辑。
将您的图像字段转换为base64Image并通过JSON数据发送它。
你需要做的是:
  1. 进入https://www.base64-image.de/并将图像转换为base64格式。复制编码结果。
  2. here安装django-extra-fields包到您的项目中
  3. 在您的serializer_class中,导入并将图像字段更改为Base64ImageField

serializers.py

...
from drf_extra_fields.fields import Base64ImageField
...
 

现在,打开你的postman并发送以下JSON数据。记得将编码后的图像放在JSON中的image字段中发送。
{
    "name":"John",
    "age":30,
    "cars": 
    {
        "car_img_1":"<base64 encoded image>",
        "car_img_2":"<base64 encoded image>",
        "car_img_3":"<base64 encoded image>"
    }
 }

0
你应该尝试这种方式(提示:仔细观察 form-data 的键名)。

enter image description here


所以,关键点是每个KVP/数据元素的索引语法?- 你能否请明确一下,并将正文的文本复制到答案中。 - ryanwebjackson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接