Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported
SpringBoot前后端分离项目,前端html页面使用ajax请求后台接口
控制台异常信息:
2021-05-10 22:29:25.707 WARN 15836 --- [nio-9000-exec-9] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported]
后台接口使用@RequestBody注解接收参数
解决方式:
ajax中添加
headers:{“Content-Type”:“application/json;charset=UTF-8”},
$.ajax({
url:'http://localhost:9000/login',
data:JSON.stringify(data),
headers:{"Content-Type":"application/json;charset=UTF-8"},
dataType:'json',//服务器返回json格式数据
type:'post',//HTTP请求类型
timeout:10000,//超时时间设置为10秒;
success:function(data){
console.log(data);
},
error:function(xhr,type,errorThrown){
}
});
原因:异常中说明了前端发送的application/x-www-form-urlencoded;charset=UTF-8格式的数据不支持,后台如果使用
@RequestBody注解接收参数,前端要传输json格式的数据才能进行参数的装配。
底层的话@RequestBody注解中应该有关于数据解析和解析之后进行装配的部分 没去看底层,有兴趣的同学可以自己去看看,看完可以回来分享一下。

浙公网安备 33010602011771号