Насколько я знаю, вы должны поместить все в строку запроса, которая может выглядеть иначе, чем вы ожидаете.
Пример запроса к /Users
:
{
max_num: 100,
fields: ["first_name", "last_name"],
filter: [
{"user_name":"admin"}
{"status":"Active"}
]
}
В виде строки запроса этот запрос будет выглядеть следующим образом:
/rest/v10/Users?max_num=100&fields=first_name,last_name&filter[0][user_name]=admin&filter[1][status]=Active
Замечания относительно формата строки запроса:
- Нет
{
или }
, значения объекта запроса размещаются непосредственно в строке запроса - Пары ключ-значение присваиваются
=
и разделяются &
(вместо :
и ,
) - Кавычек
"
или '
нет вообще, строки пишутся без них - Массив значений (здесь:
fields
) - это всего лишь одно присваивание свсе значения разделены ,
- Массив объектов (здесь:
filter
) имеет одну пару ключ-значение на нижнее значение и использует [
и ]
для указания «пути» к каждомузначение.Использование числовых индексов на основе 0 для массивов
Примечания
- Имейте в виду, что существуют ограничения по длине URL, вкл.Строка запроса.Например, 4096 байт / символов для Apache 2, если я правильно помню.Если вам нужно отправить очень сложные запросы, вы можете использовать
POST /rest/v10/<module>/filter
. - URL-экранированный (обычно не обязательный), пример фильтра будет выглядеть так:
/rest/v10/Users?max_num%3D100%26fields%3Dfirst_name%2Clast_name%26filter%5B0%5D%5Buser_name%5D%3Dadmin%26filter%5B1%5D%5Bstatus%5D%3DActive