Postman Chrome扩展程序是否支持发送数组?

352

我一直在使用Postman Chrome扩展程序来测试我的API,并希望通过POST发送一个ID数组。在Postman中有没有一种方法可以将这样的内容作为参数发送?

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

1
我相当确定发送数组的正确方式是“以某种方式发送,使得您要发送到的特定服务器可以正确接收它”。这解释了下面答案的差异 - 但如果每个人(或任何人?)都说出他们正在使用的后端,那么这一切将更加有用。 - mwardm
25个回答

1
尽管这个问题已经有了一个解决方案,但它仍然有一个缺点,即我们必须重复输入键(数组名称),因为每个键只能接受一个值。就像这样:

Postman form-data (Key-Value Pairs)

想象一下,如果我们有10个或更多的值,每次都要重复相同的数组名称吗?程序上的答案是不需要。那么我们应该采取以下更好的方法:

  1. 像往常一样选择表单数据
  2. 在键字段中输入数组名称
  3. 在值字段中传递数组

就像这样:

Passing Array in Postman

现在,你应该能够发送数组了,但是等等,这不会像我在MongoDB中的情况那样存储在数据库中。所以你需要使用以下代码将其发送到数据库中:

  1. 首先,我们需要使用JSON解析它,像这样

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

  1. 现在,你可以像一个数组一样发送user_ids变量到数据库中

就这样!


0
假设您拥有下面的对象数组,
features: [
      {
        title: { type: String },
        type: { type: String },
      },
    ],

要在 Postman 上添加表单数据的值,请按此方式添加

features[title]
features[type]

同时请查看下面的图片

enter image description here


0

这是对我有效的东西

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

我相信大多数情况下这取决于后端的设置方式。


0

注意,现在是2022年,如果以上所有解决方案都没有用,请不要惊慌。只需将数组名称与其值一起传递,而不需要括号,并将其添加多次,就像下面的图片所示。它应该可以正常工作。如果它确实有效,请给我买杯咖啡,哈哈哈。

enter image description here


1
它不会起作用。它将获取tag2的值。 - manish nautiyal
@manishnautiyal 你试过了吗?因为这是我传递数组数据的唯一方法,而且它按预期工作。 - Ndatimana Gilbert
是的,我尝试过了,但对我没有用,所以我自己写了。 - manish nautiyal

0

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

唯一有用的答案是:
在函数签名中的参数声明之前添加[FromBody]属性:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接