Я использовал расширение Postman Chrome для тестирования своего API и хотел бы отправить массив идентификаторов по почте. Есть ли способ отправить что-то перечислить это в качестве параметра в Почтальон?
{
user_ids: ["1234", "5678"]
}
Я использовал расширение Postman Chrome для тестирования своего API и хотел бы отправить массив идентификаторов по почте. Есть ли способ отправить что-то перечислить это в качестве параметра в Почтальон?
{
user_ids: ["1234", "5678"]
}
Ответы:
Вам необходимо добавить суффикс имени вашей переменной []
следующим образом:
Если это не сработает, попробуйте не указывать индексы в скобках:
my_array[] value1
my_array[] value2
Примечание:
Если вы используете упакованное приложение почтальона , вы можете отправить массив, выбрав raw
/ json
(вместо form-data
). Также обязательно установите Content-Type
как application/json
на Headers
вкладке. Вот пример для необработанных данных {"user_ids": ["123" "233"]}
, не забывайте цитаты!
Если вы используете REST-клиент почтальона, вы должны использовать метод, который я описал выше, потому что передача данных как raw (json) не будет работать. В REST клиенте почтальона есть ошибка (по крайней мере, я получаю ошибку, когда использую 0.8.4.6
).
my_array[hashname] value1
my_array[] value
создаст параметр массива с предоставленными значениями, как key => [value
]. my_array[key] value
создаст хеш, как{key => value}
.
Для меня не работал с массивом [0], массивом 1 , .. или массивом [], массивом [], .... Работает проще:
Вот мое решение:
используйте данные формы и отредактируйте, как показано ниже:
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, я перешел в необработанный формат json и установил user_ids в массив:
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
social_links[0].name
дополнительный период
name
это также массив? Я попробовал что-то вроде social_links[0]name[0]
в Django REST Framework (вложенный записываемый модель-сериализатор с отношениями «многие ко многим»), и это не сработало.
Важно знать, что поле VALUE может содержать только цифровое значение (без спецификаторов).
Если вы хотите отправить, например, массив «сообщений» с почтальоном, каждое из которых имеет список пар ключ / значение, введите, например, messages [] [reason] в поле KEY, а значение причины - в поле VALUE:
Сервер получит:
{"messages"=>[{"reason"=>"scrolled", "tabid"=>"2"}, {"reason"=>"reload", "tabid"=>"1"}], "endpoint"=>{}}
в наборе заголовков
content-type : application/x-www-form-urlencoded
В теле выберите вариант
х-WWW-форм-urlencoded
и вставьте данные в виде массива JSON
user_ids : ["1234", "5678"]
Это также работает для списков внутри объекта:
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"
}
]
}
Выберите либо form-data, либо urlencoded и используйте тот же ключ «user_ids». Сервер должен получить его как массив.
Content-type
заголовок со значением application/json
.
{
"data" : [
{
"key1" : "value1",
"key2" : "value2"
},
{
"key01" : "value01",
"key02" : "value02"
},
{
"key10" : "value10",
"key20" : "value20"
}
]
}
Вы можете пройти так. Надеюсь, это кому-нибудь поможет.
В форме данных,
key value
user_ids[] 1234
user_ids[] 5678