我一直在使用邮递员Chrome扩展来测试我的API,并想通过post发送一个id数组。有没有一种方法可以在Postman中将此作为参数发送?

{
  user_ids: ["1234", "5678"]
}

当前回答

这也适用于对象中的列表:

Id:37
IdParent:26
Name:Poplet
Values[0].Id:1349
Values[0].Name:SomeName
Values[1].Id:1350
Values[1].Name:AnotherName

等价的JSON是:

{
    "Id": 37,
    "IdParent": 26,
    "Name": "Poplet",
    "Values": [
        {
            "Id": 1349,
            "Name": "SomeName"
        },
        {
            "Id": 1350,
            "Name": "AnotherName"
        }
    ]
}

其他回答

重要的是要知道,VALUE框只允许包含一个数值(不允许包含说明符)。

如果你想通过Postman发送一个“消息”数组,每个“消息”都有一个键/值对列表,在key框中输入messages[][reason],在value框中输入reason的值:

服务器将收到:

{"messages"=>[{"reason"=>"scrolled", "tabid"=>"2"}, {"reason"=>"reload", "tabid"=>"1"}], "endpoint"=>{}}

正如@pinouchon提到的,你可以在数组索引的帮助下传递它

my_array[0] value
my_array[1] value

In addition to this, to pass list of hashes, you can follow something like:

my_array[0][key1] value1

my_array[0][key2] value2

例子:

To pass param1=[{name:test_name, value:test_value}, {...}]

param1[0][name] test_name

param1[0][value] test_value

在form-data中,你可以传递这样一个数组

在后台,你会像a一样取回它

"tags"=>["aaaa", "bbb"]

在我的例子中,我要在一个数组中传递两个值,所以我写了两次

你需要像这样用[]作为变量名的后缀:

如果这不起作用,试着不要把索引放在括号里:

my_array[]  value1
my_array[]  value2

注意:

如果你使用的是邮差打包应用,你可以通过选择raw / json(而不是form-data)来发送一个数组。另外,请确保在Headers选项卡中将Content-Type设置为application/json。 以下是原始数据{"user_ids":["123" "233"]}的示例,不要忘记引号! 如果您正在使用邮递员REST客户端,则必须使用我上面描述的方法,因为将数据作为raw (json)传递是行不通的。邮递员REST客户端有一个bug(至少我在使用0.8.4.6时得到了这个bug)。

请求头配置并添加如下内容

Accept: application/json

你需要在关键变量名后面加上[]

像key [0] [name]]

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

在右侧的form-data中单击Bulk Edit并添加以下内容

items[0][prod_id]:174336
items[0][item_weight]:3.400
items[0][item_qty]:1
items[0][item_selected_melting]:92
items[0][item_remarks]:
items[1][prod_id]:12345