背景
在升级组内用到的一个较为老的系统的时候,发布上去以后系统正常,前端展示出了问题,后端接口中的中文的字段在页面显示为?,导致部分功能不能使用。
发布后的异常显示:
发布前的正常显示:
解决办法
通过前端调试查看调用的接口,发现后端数据到前端的接口用的是jackson.databind包的ObjectMapper.writeValueAsString()方法,在升级过程中处理了这个包的冲突,试着把包的版本降低,发现还是不行,排除了这个包的版本问题。开始怀疑是spring包升级导致的问题,在查看相关问题的时候发现RequestMapping注解中可以通过produces去更改编码的格式,在注解中将produces加上编码的限制问题解决。
@RequestMapping(value = "/api", produces = "application/json; charset=utf-8")
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。