我有一个如下控制器,但它总是收到空。
@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"参数。任何人都可以帮助解决这个问题
答案 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;
}