前台Vue-axios post后台SpringBoot的@ResponseBody注解下Controller报错415问题解决
首先SpringBoot的@ResponseBody注解,只识别Request POST的Content-Type除x-www-form-urlencode外的请求,然而,使用vue的axios时总会配一个POSTAxios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';这样就不可避免的...
·
首先SpringBoot的@ResponseBody注解,只识别Request POST的Content-Type除x-www-form-urlencode外的请求,然而,使用vue的axios时总会配一个POST
Axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
这样就不可避免的与SpringBoot中的@ResponseBody有所冲突,所以会报错415,
关于415,说法是服务器不能处理请求中附带的媒体格式。。。。总之,我没看懂。
所以,深入理解这个问题之后,有两种解决办法:
1,后端传参不用@RequestBody注解:
Post formdata数据
这种办法避免了@RequestBody与x-www-form-urlencoded之间的冲突,最简单。
2,要在后端一定要用@RequestBody注解传入的参数:
Post json数据
在使用axios时,set一个header,将请求Content-Type设置为json:
headers: {
'Content-Type': 'application/json'
}
更多推荐
已为社区贡献3条内容
所有评论(0)