read方法中JSON.parseObject(in, fastJsonConfig.getCharset(), type, fastJsonConfig.getFeatures());未捕获JSONException,导致异常被抛到容器,然后直接报内部服务异常,返回的http code是500。这个十分不好,spring官方对jackson在序列化/反序列化的时候,做了异常捕获,并转成HttpMessageNotReadableException,这样处理会友好一些。
发生异常的场景如下:
使用FastJsonHttpMessageConverter4作为http message convert,内部bean中有一个field,类型是Long,传入的类型是一个字符串,字符串无法装成Long,导致JSONException。
2条答案
按热度按时间fslejnso1#
@lihengming
z5btuh9x2#
@durianskh 用最新版试试