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

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

当前回答

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

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

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

其他回答

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

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

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

是这样的:

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

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

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

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

这是所有!

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

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

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

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

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

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

服务器将收到:

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

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

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

如果你想要一个字典数组,试试这个: