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

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

当前回答

假设你有下面的对象数组,

features: [
      {
        title: { type: String },
        type: { type: String },
      },
    ],

要在邮差的表单数据上添加值,请按以下方式添加

features[title]
features[type]

看看下面的图片

其他回答

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

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

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

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

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

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

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

以下是我的解决方案:

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

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

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

{"box":{"0":"a","n1":"b","n2":["c","d"]}}