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

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

当前回答

虽然这个问题已经接受了一个解决方案,但该解决方案有一个缺点,即我们必须一次又一次地重复键(数组名),因为一个键只接受一个值。是这样的:

假设我们有10个或更多的值,我们是否应该每次都重复相同的数组名称?程序性的答案是否定的。那么我们应该做以下是一个更好的方法。

像往常一样选择form-data Type Key字段中的数组名称 传递Array in Value字段

是这样的:

现在,你应该能够发送数组,但是等一下,这不会存储在数据库中,就像在我的情况下,MongoDB。所以你要做的是,使用下面的一段代码像数据库中的数组一样发送它:

首先,我们需要使用JSON解析它,如下所示

let user_ids = JSON.parse(body.user_ids);

现在,您可以像数组一样将user_ids变量发送到数据库

这是所有!

其他回答

转到Header,选择Content-Type = application/json,然后转到body,选择raw,然后传递一个数组。

在格式,

   key              value

 user_ids[]         1234
 user_ids[]         5678

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

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

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

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

我也遇到过这样的问题,并通过以下方法解决了它:

1 -进入请求头配置并添加以下内容:

Accept : application/json, text/plain, */*
Content-Type : application/json;charset=UTF-8

2 -为了发送json数组,我使用原始json格式,并将user_ids设置为array:

user_ids: ["bbbbbbbbbb","aaaaaaaaaa","987654321","123456789"]