【发布时间】:2016-02-03 09:15:22
【问题描述】:
我正在尝试学习 Spring Framework,以便为我未来的项目创建 RESTful Web 服务。到目前为止,我已经尝试使用 GET 并使用简单的 Ajax 请求毫无问题地使用它。我也尝试过使用查询字符串来输入参数。
到目前为止,我正在尝试创建一个接收 POST 请求的端点。我已经研究了几天,但无济于事(对于像我这样的初学者来说,有些 tuts 太复杂了)。
这是我的简单代码:
Java 春天
@RequestMapping(value = "/test", method = RequestMethod.POST)
@ResponseBody
public String testString(String jsonString)
{
System.out.println(jsonString);
return jsonString;
}
阿贾克斯
var data = {"name":"John Doe"}
$.ajax({
url: "http://localhost:8080/springrestexample/test",
method:"POST",
data:data,
dataType:'text',
success: function( data ) {
alert(data);
},
error: function( xhr, status, errorThrown ) {
alert("Error:" + errorThrown + status);
}
});
我已尝试调试 tomcat,但似乎我没有在 testString 上传递任何值。我需要在我的 java 代码上添加一些东西吗?
【问题讨论】:
-
有什么问题?
jsonString是空的吗?看看@RequestBody -
data:{jsonString:data},更改为这个也设置了一个有效的contentType:'application/json' -
是的,jsonString 始终为空。我也试过把名字改成 jsonString 还是没有正确响应
标签: java jquery json ajax spring