2016-12-29 4 views
0

Я пытаюсь отправить на массив

arr=["xxx.yyy","zzz.vvv"] 

до весны конечной точки, как это:

$http.post("url",arr) 

пружина сторона:

@PostMapping(value = "url") 
    public Set<String> func(@RequestParam(name="arr") String[] arr) { 

    } 

однако я продолжаю получать

org.springframework.web.bind.MissingServletRequestParameterException: Required String[] parameter 'arr' is not present

Как я могу получить массив по имени параметра? Мне нужно отправить несколько массивов, поэтому я предполагаю, что на них могут ссылаться их имена, однако @RequestParam, похоже, не работает

+0

Нам нужно знать, как ваш бэкэнд ожидает данных и с каким типом контента 'content-type' – Piou

ответ

1

Из того, что я вижу из пружинной документации:

@RequestParam для URL запроса параметров

@RequestBody для параметров из корпуса

В пост отправить информацию в теле запроса, попробуйте использовать последний один:

@PostMapping(value = "url") 
public Set<String> func(@RequestBody String[] arr) { 

} 

Вам также может понадобиться изменить угловую часть, как:

$http.post("url",{arr: arr}) 
0

Вторым параметром должен быть объект, array и secondArray представляют собой имя параметров. yourArray и anotherArray будут вашим массивом в приложении Angular.

$http.post(url', { 
      array: yourArray, 
      secondArray: anotherArray, 
    }); 

Тогда на вашей стороне В, вы будете ссылаться на те значения, как array и secondArray, а также.

0

Вы должны создать объект Params с arr в качестве ключа:

var params = { 
    'arr': ["xxx.yyy","zzz.vvv"] 
}; 

$http.post("url", params); 
+0

он не работает, такая же ошибка – Zerg

0
arr=["xxx.yyy","zzz.vvv"] 
var sendData = {data:arr}; 

$http.post("url", sendData); 

Весной вы можете получить SendData. И когда вы собираетесь получать значения, вы должны указать ключ или индекс. Ex. arr [0], arr.name

0

Чтобы отправить несколько массивов через столбец, должен быть объект со стороны пружины, например. ArrayWrapper, который будет содержать 3 массива, а затем объект ArrayWrapper, должен быть отправлен через угловое значение, если вы используете библиотеку, подобную jackson, она преобразует объект из объекта запроса в соответствующий Java-объект, который вы можете продолжить.