如何使用AngularJS将字符串作为Springs的@RequestParam发送?

时间:2019-02-09 18:45:53

标签: angularjs spring spring-boot

在后端(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 :(得分:0)

基本上@RequestParam用于查询字符串参数(URL查询参数)。 @RequestBody用于发布请求正文。 现在$ http.post用法是mentioned作为post(url,data,[config]),其中data是Post数据,可以使用@RequestBody捕获。但是,由于您需要@RequestParam,因此您需要传递附加到url的查询字符串参数,例如 $http.post('http://localhost:8080/wordCount?sentence=blah',{})

答案 1 :(得分:0)

使用params的{​​{1}}属性设置URL参数:

config

有关更多信息,请参见AngularJS $http Service API Reference - post