Отправить массив с HTTP Get

Как я могу отправить массив с запросом HTTP Get?

Я использую клиент GWT для отправки запроса.

Это зависит от того, что принимает целевой сервер. Для этого нет окончательного стандарта. См. Также ao Википедия: Строка запроса :

Хотя стандартного стандарта нет, большинство веб-фреймворков позволяют связать несколько значений с одним полем (например, field1=value1&field1=value2&field2=value3 ). [4] [5]

Как правило, когда целевой сервер использует сильный типизированный язык программирования, такой как Java ( Servlet ), вы можете просто отправить их как несколько параметров с тем же именем. API обычно предлагает выделенный метод для получения нескольких значений параметров в виде массива.

 foo=value1&foo=value2&foo=value3 
 String[] foo = request.getParameterValues("foo"); // [value1, value2, value3] 

На нем также будет работать request.getParameter("foo") , но он вернет только первое значение.

 String foo = request.getParameter("foo"); // value1 

И, когда целевой сервер использует слабый типизированный язык, такой как PHP или RoR, вам нужно суффикс имени параметра с помощью скобок [] , чтобы заставить язык возвращать массив значений вместо одного значения.

 foo[]=value1&foo[]=value2&foo[]=value3 
 $foo = $_GET["foo"]; // [value1, value2, value3] echo is_array($foo); // true 

Если вы все еще используете foo=value1&foo=value2&foo=value3 , тогда он вернет только первое значение.

 $foo = $_GET["foo"]; // value1 echo is_array($foo); // false 

Обратите внимание, что когда вы отправляете foo[]=value1&foo[]=value2&foo[]=value3 в Java Servlet, вы все равно можете их получить, но вам нужно будет использовать точное имя параметра, включая фигурные скобки.

 String[] foo = request.getParameterValues("foo[]"); // [value1, value2, value3] 

Я знаю, что этот пост действительно старый, но я должен ответить, потому что хотя ответ BalusC отмечен как правильный, это не совсем правильно.

Вы должны написать запрос, добавив «[]» в foo следующим образом:

 foo[]=val1&foo[]=val2&foo[]=val3 
  • Какому компилятору я должен доверять?
  • Преобразование HttpPostedFileBase в байт
  • Хранить и читать hash и массив в файлах в Perl
  • Как разрезать массив в Bash
  • Как выполнить итерацию каждого элемента в n-мерной матрице в MATLAB?
  • Манипулировать multidimensional array в функции
  • java.lang.ArrayIndexOutOfBoundsException: 0
  • Могу ли я передать массив в качестве аргументов метода с переменными аргументами в Java?
  • Ошибка сегментации при больших размерах массива
  • C ++ int в байтовый массив
  • Массив общей длины массива для C?
  • Interesting Posts
    Давайте будем гением компьютера.