springmvc后端通过@RequestBody将json数据封装出现415错误
错误
前端代码:
$(document).ready(function () {
$("#btn").click(function () {
alert("访问Ajax");
// 发送ajax请求
$.ajax({
//编写json格式,设置属性和值
url:"mytest/testAjax",
contentType:"application/json;charset=utf-8",
data:'{"userName":"小黑","userAge":"18"}',
dataType:"json",
type:"post",
success:function (data) {
// data服务器端响应的json数据
alert(JSON.stringify(data));
}
});
});
});
后端代码
@Controller
@RequestMapping("mytest")
public class AjaxController {
@RequestMapping("/testAjax")
public @ResponseBody User testAjax(@RequestBody User user){ //获取请求体
System.out.println("请求ajax成功");
//客户端发送ajax请求,传的是json字符串,后端吧json字符串封装到JavaBean中
// System.out.println(user);
System.out.println(user);
// user.setUserAge("50");
// user.setUserName("小戴");
//做响应
return user;
}
}
查错步骤:
1.确定是否导入Jackson的三个jar包
2. 检查格式是否错误
必须指定contentType为以下内容
contentType:"application/json;charset=utf-8",
确保传入的数据为Json格式
3.在DispatcherServlet.xml里配置mvc:annotation-driven/
4.打开Project Structure,看里面是否报错【通常是这里有问题】
然后重启项目,即可解决