SpringMVC在使用JSON时出现错误:charset=UTF-8' not supported和Required request body is missing

1. 问题:SpringMVC在使用JSON时出现Error: Content type 'application/json;charset=UTF-8' not supported和Required request body is missing。这个问题是在SSM框架中测试json出现的。

(1)请求json串,输出json中的JS中的代码和Java代码

$.ajax({
	type:'post',
	url:'${pageContext.request.contextPath }/requestJson.action',
	contentType:'application/json;charset=utf-8',
	data:'{"name":"手机","price":999}',
	success:function(data){//返回json结果
	alert(data);
	}
});
Java中的代码
@RequestMapping("/requestJson")
public @ResponseBody ItemsCustom requestJson(@RequestBody ItemsCustom itemsCustom) {
	return itemsCustom;
}
(2)请求(key/value), 输出json中的 JS中的代码和Java代码

$.ajax({
	type:'post',
	url:'${pageContext.request.contextPath }/responseJson.action',
	data:'name=手机&price=999',
	success:function(data){//返回json结果
	alert(data.name);});

Java代码

@RequestMapping("/responseJson")
public @ResponseBody ItemsCustom responseJson(ItemsCustom itemsCustom) {
	return itemsCustom;
}

2. 之前使用的jar包是:jackson-core-asl-1.9.11.jar和jackson-mapper-asl-1.9.11.jar,

报Content type 'application/json;charset=UTF-8' not supported错误

后来改用下载最新的jackson-core-2.9.3.jar和jackson-mapper-asl-1.9.13.jar,还是报同样的错误,后来搜集到一些信息,将jackson-databind-2.9.3.jar和jackson-annotations-2.9.3.jar也都加了进去,最后就都可以了。


发布了37 篇原创文章 · 获赞 7 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/SkyFire1121/article/details/79117240