2015-08-24 50 views
0

我有一個控制器,如下所示,但它總是接收null。Spring Post Controller總是收到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); 
}}); 

春季控制器總是返回 「空」。這可能是因爲它在「jsonInput」參數中收到「null」。任何人都可以幫助解決這個問題

+1

標籤的參數與['@ RequestBody'(http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc。 HTML#MVC-ANN-requestbody)。 – approxiblue

+0

@approxiblue - 非常感謝。我工作了 :) – naga1990

回答

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; 
}