这个问题好像之前也写到过,但是这次又遇到了,所以尝试研究一下。

一、问题场景

使用json访问spring mvc接口时,遇到400错误,无法catch到错误,直接返回报错页面。

二、问题原因

400错误,我第一反应就是程序本身没错,如果有错应该会给出500。因为以前遇过这种情况,所以马上觉得很有可能是json的原因。

传入的json有一个short类型的数据,我给出的json的值超过了short的范围,所以导致json不能匹配pojo,服务器报错。

三、解决办法

  1. short s; //指定变量s为short型。
  2. 保存 short 可取的最大值的常量,最大值为 2^15-1(32767)。
  3. 保存 short 可取的最小值的常量,最小值为 -2^15(-32768)。

其实这种报错是非常正确的处理,因为值溢出了,spring mvc肯定认为传参有误。

四、总结

报400当然先去检查下参数。

发表评论

电子邮件地址不会被公开。 必填项已用*标注