Можно ли отправить массив с расширением Postman Chrome?
Я использую расширение Postman Chrome для тестирования моего API и хотел бы отправить массив идентификаторов через post. Есть ли способ отправить что-то перечислить это как параметр в Postman?
{
user_ids: ["1234", "5678"]
}
15 ответов
вам нужно суффикс вашего имени переменной с []
такой:
если это не работает, попробуйте не ставить индексы в скобки:
my_array[] value1
my_array[] value2
Примечание:
если вы используете почтальон упакованы приложение, вы можете отправить массив опции
raw
/json
(вместоform-data
). Кроме того, обязательно установитеContent-Type
asapplication/json
наHeaders
tab. Вот пример для необработанных данных{"user_ids": ["123" "233"]}
, не забудьте цитаты!если вы используете почтальон отдых клиент вы должны использовать метод, который я описал выше, потому что передача данных как raw (json) не будет работать. В клиенте postman REST есть ошибка (по крайней мере, я получаю ошибку, когда использую
0.8.4.6
).
для меня не работал с array[0], array1, .. или array [], array [],... . Он работает просто:
вот мое решение:
используйте form-data и отредактируйте, как показано ниже:
Key Value
box[] a
box[n1] b
box[n2][] c
box[n2][] d
и вы получите такой массив:
{"box":{"0":"a","n1":"b","n2":["c","d"]}}
у меня также была эта проблема, и я решил ее, выполнив следующее:
1-переход к конфигурации заголовка запроса и добавлено следующее:
Accept : application/json, text/plain, */*
Content-Type : application/json;charset=UTF-8
2-чтобы отправить массив json, я Вэнь в формате raw json и установить массив:
["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
в заголовках set
content-type : application/x-www-form-urlencoded
в теле выберите опцию
x-www-form-urlencoded
и вставить данные как массив JSON
user_ids : ["1234", "5678"]
выберите form-data или urlencoded и используйте тот же ключ "user_ids". Сервер должен получить его в виде массива.
{
"data" : [
{
"key1" : "value1",
"key2" : "value2"
},
{
"key01" : "value01",
"key02" : "value02"
},
{
"key10" : "value10",
"key20" : "value20"
}
]
}
вы можете пройти вот так. Надеюсь, это кому-то поможет.
Это также работает для списков внутри объекта:
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,
"Nombre": "SomeName"
},
{
"Id": 1350,
"Nombre": "AnotherName"
}
]
}
Я пробовал все решения здесь и в других сообщениях, но ничего не помогло.
единственный ответ помог мне:
Добавление атрибута [FromBody] перед отклонением параметра в сигнатуре функции:
[Route("MyFunc")]
public string MyFunc([FromBody] string[] obj)
важно знать, что поле value может содержать только значение (без спецификаторов).
Если вы хотите отправить например массив "сообщения" с почтальоном, каждый из которых имеет список пар ключ/значение, введите например сообщения[][причина] в качестве ключа и значения разума, в ценности:
сервер получите:
{"messages"=>[{"reason"=>"scrolled", "tabid"=>"2"}, {"reason"=>"reload", "tabid"=>"1"}], "endpoint"=>{}}