I’ve been using Postman Chrome extension to test out my API and would like to send an array of IDs via post. Is there a way to send something list this as a parameter in Postman?
{
user_ids: ["1234", "5678"]
}
Solution #1:
You need to suffix your variable name with []
like this:
If that doesn’t work, try not putting indexes in brackets:
my_array[] value1
my_array[] value2
Note:
-
If you are using the postman packaged app, you can send an array by selecting
raw
/json
(instead ofform-data
). Also, make sure to setContent-Type
asapplication/json
inHeaders
tab.
Here is example for raw data{"user_ids": ["123" "233"]}
, don’t forget the quotes! -
If you are using the postman REST client you have to use the method I described above because passing data as raw (json) won’t work. There is a bug in the postman REST client (At least I get the bug when I use
0.8.4.6
).
Solution #2:
For me did not work with array[0], array1, .. or array[], array[], … .
It works more simply:
Solution #3:
Here is my solution:
use form-data and edit as below:
Key Value
box[] a
box[n1] b
box[n2][] c
box[n2][] d
and you will get an array like this:
{"box":{"0":"a","n1":"b","n2":["c","d"]}}
Solution #5:
I also had that problem, and solved it by doing the following:
1 – Going to the request header configuration and added the following:
Accept : application/json, text/plain, */*
Content-Type : application/json;charset=UTF-8
2 – To send the json array, I went to raw json format and set the user_ids to array:
user_ids: ["bbbbbbbbbb","aaaaaaaaaa","987654321","123456789"]
Solution #7:
It is important to know, that the VALUE box is only allowed to contain a numeral value (no specifiers).
If you want to send e.g. an array of “messages” with Postman, each having a list of key/value pairs, enter e.g. messages[][reason] into the KEY box and the value of reason into the VALUE box:
The server will receive:
{"messages"=>[{"reason"=>"scrolled", "tabid"=>"2"}, {"reason"=>"reload", "tabid"=>"1"}], "endpoint"=>{}}
Solution #8:
As mentioned by @pinouchon you can pass it with the help of array index
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
Example:
To pass param1=[{name:test_name, value:test_value}, {...}]
param1[0][name] test_name
param1[0][value] test_value
Solution #9:
Go to Header and select Content-Type
= application/json
then go to body and select raw
and then pass an array.
Solution #11:
in headers set
content-type : application/x-www-form-urlencoded
In body select option
x-www-form-urlencoded
and insert data as json array
user_ids : ["1234", "5678"]
Solution #12:
This also works for lists within the object:
Id:37
IdParent:26
Name:Poplet
Values[0].Id:1349
Values[0].Name:SomeName
Values[1].Id:1350
Values[1].Name:AnotherName
the equivalent JSON would be:
{
"Id": 37,
"IdParent": 26,
"Name": "Poplet",
"Values": [
{
"Id": 1349,
"Name": "SomeName"
},
{
"Id": 1350,
"Name": "AnotherName"
}
]
}
Solution #13:
Choose either form-data or urlencoded and use the same key “user_ids”. The server should receive it as an array.
Solution #14:
{
"data" : [
{
"key1" : "value1",
"key2" : "value2"
},
{
"key01" : "value01",
"key02" : "value02"
},
{
"key10" : "value10",
"key20" : "value20"
}
]
}
You can pass like this.
Hope this will help someone.
Solution #15:
In form-data,
key value
user_ids[] 1234
user_ids[] 5678
Solution #16:
My back-end is written in Ruby on Rails. This is how I sent the array params using Postman. It worked for me.
UPDATE
I’m using x-www-form-urlencoded. I believe it will work too for form-data.
Solution #17:
I tried all solution here and in other posts, but nothing helped.
The only answer helped me:
Adding [FromBody] attribute before decleration of parameter in function signature:
[Route("MyFunc")]
public string MyFunc([FromBody] string[] obj)
