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

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

当前回答

我的后端是用Ruby on Rails编写的。这就是我使用Postman发送数组参数的方式。这对我很管用。

更新

我使用x-www-form-urlencoded。我相信它也适用于form-data。

其他回答

在报头集中

content-type : application/x-www-form-urlencoded

在body中选择选项

x-www-form-urlencoded

并插入数据作为json数组

user_ids : ["1234", "5678"]

选择form-data或urlencoded,并使用相同的键“user_ids”。服务器应该以数组的形式接收它。

正如@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

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

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

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)。

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

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"
        }
    ]
}