Spring Post Controller始终为null

时间:2015-08-24 06:36:57

标签: spring spring-mvc spring-boot

我有一个如下控制器,但它总是收到空。

@ResponseBody
      @RequestMapping(value="/saveAllData", method = RequestMethod.POST, consumes = "text/plain")
      @Override
      public String getAll(String jsonInput) {
        // TODO Auto-generated method stub
          System.out.println(jsonInput);
          return jsonInput;
    }

java脚本调用如下

$.ajax({
        url:"http://localhost:9090/saveAllData",
        type:"POST", 
        contentType: "text/plain",
        data: "Hi", //To avoid making query String instead of JSON
        success: function(resposeJsonObject){
            alert(resposeJsonObject);
}});

Spring控制器总是返回" null"。这可能是因为它收到" null" in" jsonInput"参数。任何人都可以帮助解决这个问题

2 个答案:

答案 0 :(得分:0)

您需要使用@RequestBody注释方法参数,因此Spring知道该参数应该被赋予HTTP请求主体的值。

答案 1 :(得分:0)

添加@RequestBody

  @ResponseBody
  @RequestMapping(value="/saveAllData", method = RequestMethod.POST, consumes = "text/plain")
  @Override
  public String getAll(@RequestBody String jsonInput) {
    // TODO Auto-generated method stub
      System.out.println(jsonInput);
      return jsonInput;
}