Как отправить строку как @RequestParam в Springs, используя AngularJS? - PullRequest
0 голосов
/ 09 февраля 2019

В моем бэкэнде (Spring-контроллере) у меня есть метод с @RequestParam String sentence в качестве параметра запроса.Я хотел бы отправить запрос (сообщение) на этот метод, отправив соответствующие параметры.

В AngularJS я написал:

$http.post('http://localhost:8080/wordCount', '?sentence=blah')

, но бэкенды возвращают ошибку Required String parameter 'sentence' is not present"

Вот мой контроллер:

@RequestMapping(value = "wordCount", method = RequestMethod.POST)
public String count(@RequestParam(value = "sentence") String sentence) {

        //omitted
}

Ответы [ 2 ]

0 голосов
/ 10 февраля 2019

Параметры URL задаются с помощью свойства params config:

var url = "http://localhost:8080/wordCount";
var params = { sentence: "blah" };
var config = { params: params };

$http.post(url, data, config);

Для получения дополнительной информации см. AngularJS $ http Справочник по API службы - post

0 голосов
/ 09 февраля 2019

В основном @RequestParam - для параметров строки запроса (параметры запроса URL).@RequestBody для тела почтового запроса.Теперь использование $ http.post упоминается как post (url, data, [config]), где data - данные Post, которые могут быть получены с помощью @RequestBody.Но так как вам нужно @RequestParam, то вам нужно передать параметр строки запроса, прикрепленный к URL-адресу, например $http.post('http://localhost:8080/wordCount?sentence=blah',{}).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...