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

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

当前回答

这是对我有用的方法

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

我认为这主要取决于后端是如何设置的。

其他回答

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

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

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

是这样的:

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

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

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

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

这是所有!

将Body设置为raw,并形成如下数组:

我在这里和其他帖子中尝试了所有的解决方案,但都没有帮助。

唯一的答案帮助了我: 在函数签名的参数声明前添加[FromBody]属性:

[Route("MyFunc")]        
public string MyFunc([FromBody] string[] obj)

以下是我的解决方案:

使用form-data并按如下方式编辑:

Key       Value 
box[]      a
box[n1]    b
box[n2][]  c
box[n2][]  d

你会得到一个这样的数组:

{"box":{"0":"a","n1":"b","n2":["c","d"]}}
{
    "data" : [  
        {
            "key1" : "value1",
            "key2" : "value2"   
        },
        {
            "key01" : "value01",
            "key02" : "value02"             
        },
        {
            "key10" : "value10",
            "key20" : "value20"   
        }
    ]
}

你可以这样通过。