javascript - 必需的字符串参数 'text' 不存在

标签 javascript java angularjs spring-mvc spring-boot

我正在尝试将一个字符串从我的 View 发送到我的 Controller ,但我一直收到“文本”不存在的错误。

这是我的javascript

$scope.sendMsg = function(){
        console.log($scope.my.message);

        data = {"text" : $scope.my.message};

        $http({
            method:'POST',
            data:data,
            contentType: "application/json; charset=utf-8",
            dataType:"json",
            url:'/post-stuff'
        }).then(function(response){
            console.log(response);
        });     
    }

我的休息 Controller :

@RequestMapping(value= "/post-stuff", method=RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
    @ResponseBody
    public ResponseEntity<PostTextResult> postStuff(@RequestParam(value= "text") String text){
        System.out.println(text);
        return new ResponseEntity<PostTextResult>(stuff.postTextContent(text), HttpStatus.OK);
    }

最佳答案

您可以尝试将当前 data 中的前端更改为:

data = {params:{"text" : $scope.my.message}};

Spring 需要知道请求有参数。

或者您可以尝试将 Controller 中的后端 @RequestParam(value= "text") String text 更改为 @RequestBody String text

查看 RequestBody and RequestParam 之间的区别

关于javascript - 必需的字符串参数 'text' 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44729384/

相关文章:

java - 我应该使用 Bean 脚本框架还是 JSR 223 javax.script ?

javascript - 将掉落的元素从可掉落区域移除后对其进行计数

javascript - 从 Controller 动态加载 Angular UI-Bootstrap Accordion

java - 给定 int 的字符串表示,检查溢出

java - 有没有比Jlayer Lib更好的在Java中播放mp3的方法?

javascript - "ng-click"在 Ionic 框架中无法正常工作 "ion-content"

javascript - 在响应中设置 cookie header 但未在浏览器中设置

javascript - 如何仅使用部分预定义可用键创建类型?

javascript - angularjs - 动态添加一个变量到每个 Controller 的范围

javascript - AngularJS 中的表单验证和动态控件