【问题标题】:Spring Post Controller always receives nullSpring Post Controller 总是收到 null
【发布时间】:2015-08-24 06:36:56
【问题描述】:

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

@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”。这可能是因为它在“jsonInput”参数中接收到“null”。谁能帮忙解决这个问题

【问题讨论】:

  • @RequestBody标记您的参数。
  • @approxiblue - 非常感谢。我工作了:)

标签: spring spring-mvc spring-boot


【解决方案1】:

你需要用@RequestBody注释方法参数,所以Spring知道参数应该被赋予HTTP请求体的值。

【讨论】:

    【解决方案2】:

    添加@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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-02
      • 1970-01-01
      • 1970-01-01
      • 2021-03-11
      • 1970-01-01
      • 1970-01-01
      • 2021-04-05
      • 1970-01-01
      相关资源
      最近更新 更多