我一直在使用邮递员Chrome扩展来测试我的API,并想通过post发送一个id数组。有没有一种方法可以在Postman中将此作为参数发送?
{
user_ids: ["1234", "5678"]
}
我一直在使用邮递员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变量发送到数据库
这是所有!
其他回答
这也适用于对象中的列表:
Id:37
IdParent:26
Name:Poplet
Values[0].Id:1349
Values[0].Name:SomeName
Values[1].Id:1350
Values[1].Name:AnotherName
等价的JSON是:
{
"Id": 37,
"IdParent": 26,
"Name": "Poplet",
"Values": [
{
"Id": 1349,
"Name": "SomeName"
},
{
"Id": 1350,
"Name": "AnotherName"
}
]
}
在报头集中
content-type : application/x-www-form-urlencoded
在body中选择选项
x-www-form-urlencoded
并插入数据作为json数组
user_ids : ["1234", "5678"]
如果你想要一个字典数组,试试这个:
我在这里和其他帖子中尝试了所有的解决方案,但都没有帮助。
唯一的答案帮助了我: 在函数签名的参数声明前添加[FromBody]属性:
[Route("MyFunc")]
public string MyFunc([FromBody] string[] obj)
我也遇到过这样的问题,并通过以下方法解决了它:
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"]