RestTemplate实践 (7)

RestTemplate的无参构造中默认会初始化很多messageConverters,用于请求/响应中的消息转换

/** * Create a new instance of the {@link RestTemplate} using default settings. * Default {@link HttpMessageConverter}s are initialized. * 使用默认配置创建一个RestTemplate实例 * 默认的HttpMessageConverter集合被初始化 */ public RestTemplate() { this.messageConverters.add(new ByteArrayHttpMessageConverter()); this.messageConverters.add(new StringHttpMessageConverter()); this.messageConverters.add(new ResourceHttpMessageConverter()); this.messageConverters.add(new SourceHttpMessageConverter<Source>()); this.messageConverters.add(new AllEncompassingFormHttpMessageConverter()); if (romePresent) { this.messageConverters.add(new AtomFeedHttpMessageConverter()); this.messageConverters.add(new RssChannelHttpMessageConverter()); } if (jackson2XmlPresent) { this.messageConverters.add(new MappingJackson2XmlHttpMessageConverter()); } else if (jaxb2Present) { this.messageConverters.add(new Jaxb2RootElementHttpMessageConverter()); } /** * 如果类路径下包含com.fasterxml.jackson.databind.ObjectMapper 和 com.fasterxml.jackson.core.JsonGenerator * 使用jackson做http请求、响应的json转换 */ if (jackson2Present) { this.messageConverters.add(new MappingJackson2HttpMessageConverter()); } else if (gsonPresent) { //类路径下包含 com.google.gson.Gson this.messageConverters.add(new GsonHttpMessageConverter()); } }

springboot项目默认使用jackson做json转换

使用fastjson做json转换

引入fastjson依赖

排除jackson的HttpMessageConverter转换器

添加fastjson的转换器

排除jackson的HttpMessageConverter转换器有两种方式:

(1)类路径下去掉jackson的支持

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwyjgd.html