springmvc 结合 自动封装异常信息输出为json 报错 500内部服务器错误的原因
补充:还有一个原因是因为spring的对象没有被成功注入,例如 mapper没有被成功注入,抛出异常时在这种封装场景下将会抛出 500 服务器内部错误,
这种情况下要排查还是靠debug然后看看到底是哪一步出问题了,比如这次mapper在使用的时候,抛出了spring的异常,那么就可以打印一下mapper,看看是否为空,
来判断是否成功注入。
原因是多种多样的,还是要看控制台三个输出窗口,看看有没有异常,不过这里抛出到json了,json显示我自己定义的 500 服务器内部错误,
如果必须看到异常信息,可以封装成别的输出形式,或者直接解除封装,或者debug,
这里的错误是因为我用springmvc封装传到controller的bean的名字,比如 devicelowerid 写成了 带有大写符号的 deviceLowerId 了,而bean里面用mbg自动生成的时候是全小写,一比对,自然就找不到dean名称了,所以出现异常,这个时候debug看controller接收的bean对象,可以看到没有被传过来的参数显示为null,这就是因为前端传的key没有和bean中的字段对应上导致的。
(像这种的错误,因为是springmvc抛出的异常,在这个封装json的场景下,会抛出到我自定义的处理器,然后显示 500 服务器内部错误)