bug: @RequestBody注解失效,服务器返回415

这个问题耽误了我相当长的时间,我已经很难受了,然而,在得知错误原因后,更是难受了。

首先,问题是这样的,我调用的JQuery的ajax()方法,从前端返回json对象,希望通过@RequestBody为它创建String类型的JAVA Bean对象:

这是一个415错误,于是我上网查找错误类型:不支持的媒体类型。

于是我开始修改接收参数的类型:

 

 我把String pr 换成了productInfo pr 结果竟然还是415,

于是我开始怀疑前端是不是出了问题:

 

 我在erro里面设置了显示错误状态码,显示的是error,我把它理解为出错:原因应该是后台程序没有返回值,在程序中加了断点debug一下,果然没有,

甚至直接跳过断点..看来连程序的入口都没进去?

由于之前一直没问题,现在又耽误了好久,这时候我开始慌了,难道是找不到这个方法吗?

url?

于是我修改了ajax的url参数,改来改去都是一个值404(),不对。

那只能是@RequestBody来背这个锅了,我很诧异之前他都可以把json对象转换成String 类型的,今天就不行了?

于是我把它去掉了,

 

 

 吼吼,415是没了,直接500:

 

 而且还是第一行的问题,错误显而易见,我需要@RequestBody啊!不然提取不了请求体中的内容,也就不能转换为String类型。

https://www.cnblogs.com/qq78292959/p/3760651.html

 

 

于是我又把他加上去了,开始直接搜索@Request 415,虽然不是我的问题,但给了我重要提示:

https://blog.csdn.net/qq_22585453/article/details/78478324

是配置文件出了问题!

 

 问题到此为止了,原来是我在了解@ResponseBody注解之前想要转换json格式数据添加的转换器Bean对象,现在已经没有用了,但是我却忘了删。。。他一定对@request默认的转换器产生了影响!

至此,我明白了一个道理:当你不了解一个东西的时候,不要随随便便复制粘贴他们,而且当问题得到解决时,应该想想对你产生帮助的部分到底是哪些,而没用的代码要立即删除!

posted @ 2020-04-14 11:31  小学生欸呀欸  阅读(837)  评论(0编辑  收藏  举报