1注解源码
1.1注解驱动里的源码
1.2找到源码
1.3真正起作用的是messageConverter
jackson只是一个工具,而@ResponseBody注解用于将Controller的方法返回的对象,根据HTTP Request Header的Accept的内容,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
所以jackson将对象转化为json,再通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象body数据区,比如如下两种:
Ctrl+O找到getMessageConverters
a. MappingJackson2HttpMessageConverter
b. StringHttpMessageConverter
由于我们需要返回json字符串,所以使用的是StringHttpMessageConverter
由于StringHttpMessageConverter的默认编码是ISO-8859-1,所以我们得自定义messageConverter
先走自定义的messageConverter,再走default