前台往后台传送JSON格式的字符串为什么JAVA后台接收的时候总报错!
错误内容详细信息org.springframework.web.HttpMediaTypeNotSupportedException:Contenttype'applic...
错误内容详细信息
org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;charset=UTF-8' not supported
前台代码JQUERY部分:
var requestUrl = "json/testRequestBody";
$.ajax(
{
url : requestUrl,
dataType : "json" ,//预期服务器返回的数据类型
type : "post",//请求方式POST 或 GET
contentType:"application/json;charset=UTF-8" , //发送至服务器时的内容编码格式
//发送到服务器的数据
data:JSON.stringify({id:1,loginname:"njxiaoxiao79",password:"123456"}),
async:true,//默认设置下,所有请求均为异步请求。如果设置为false,则发送同步请求。
//请求成功后的回调函数
success : function(data){
console.log(data);
$("#id").html(data.id);
$("#name").html(data.name);
$("#age").html(data.age);
} ,
//请求出错时调用的函数
error : function(){
alert("数据发送失败!");
}
});
后台处理接收数据的方法如下:
//@requestBody根据JSON数据转换成对应的Object
@RequestMapping(value="/testRequestBody",
method=RequestMethod.POST,
consumes="application/json",
produces="application/json")
public void setJson(@RequestBody People people,
HttpServletResponse response){
ObjectMapper mapper = new ObjectMapper();
跟踪到JAR包中出现错误的类AbstractMessageConverterMethodArgumentResolver出错代码如下:
if (body == NO_VALUE) {
if (!SUPPORTED_METHODS.contains(httpMethod)) {
return null;
}
throw new HttpMediaTypeNotSupportedException(contentType, this.allSupportedMediaTypes);
} 展开
org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;charset=UTF-8' not supported
前台代码JQUERY部分:
var requestUrl = "json/testRequestBody";
$.ajax(
{
url : requestUrl,
dataType : "json" ,//预期服务器返回的数据类型
type : "post",//请求方式POST 或 GET
contentType:"application/json;charset=UTF-8" , //发送至服务器时的内容编码格式
//发送到服务器的数据
data:JSON.stringify({id:1,loginname:"njxiaoxiao79",password:"123456"}),
async:true,//默认设置下,所有请求均为异步请求。如果设置为false,则发送同步请求。
//请求成功后的回调函数
success : function(data){
console.log(data);
$("#id").html(data.id);
$("#name").html(data.name);
$("#age").html(data.age);
} ,
//请求出错时调用的函数
error : function(){
alert("数据发送失败!");
}
});
后台处理接收数据的方法如下:
//@requestBody根据JSON数据转换成对应的Object
@RequestMapping(value="/testRequestBody",
method=RequestMethod.POST,
consumes="application/json",
produces="application/json")
public void setJson(@RequestBody People people,
HttpServletResponse response){
ObjectMapper mapper = new ObjectMapper();
跟踪到JAR包中出现错误的类AbstractMessageConverterMethodArgumentResolver出错代码如下:
if (body == NO_VALUE) {
if (!SUPPORTED_METHODS.contains(httpMethod)) {
return null;
}
throw new HttpMediaTypeNotSupportedException(contentType, this.allSupportedMediaTypes);
} 展开
1个回答
展开全部
consumes="application/json",produces="application/json"删掉试试,
我的后台工程是这样子:
@RequestMapping(value = "/updateByChaIdSelective", method = RequestMethod.POST)
public @ResponseBody
ServerResponse<Object> updateByChaIdSelective(
@RequestBody JJctbCha record) throws Exception {
....
}
我的后台工程是这样子:
@RequestMapping(value = "/updateByChaIdSelective", method = RequestMethod.POST)
public @ResponseBody
ServerResponse<Object> updateByChaIdSelective(
@RequestBody JJctbCha record) throws Exception {
....
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询