当前位置: 移动技术网 > IT编程>开发语言>Java > bug: @RequestBody注解失效,服务器返回415

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

2020年04月14日  | 移动技术网IT编程  | 我要评论
这个问题耽误了我相当长的时间,我已经很难受了,然而,在得知错误原因后,更是难受了。 首先,问题是这样的,我调用的JQuery的ajax()方法,从前端返回json对象,希望通过@RequestBody为它创建String类型的JAVA Bean对象: 这是一个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类型。

 

 

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

是配置文件出了问题!

 

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

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

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网