Configuring a Custom ObjectMapper for Spring RestTemplate
您可能还会喜欢:如何使用Spring RestTemplate将数据发布到Web服务 BLOCKQUOTE>例如,我最近遇到一个问题,我需要配置Jackson来接受这样的不区分大小写的属性。
1
2
3
4
5
6
7 private ObjectMapper createObjectMapper() {
ObjectMapper ObjectMapper = new ObjectMapper();
ObjectMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
return ObjectMapper;
}要使自定义
ObjectMapper 可用于MappingJackson2HttpMessageConverter ,只需创建一个新的MappingJackson2HttpMessageConverter 并传入ObjectMapper 实例即可。
1
2
3
4
5
6 private MappingJackson2HttpMessageConverter createMappingJacksonHttpMessageConverter() {
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
converter.setObjectMapper(createObjectMapper());
return converter;
}然后,您可以创建一个
RestTemplate 并将自定义MappingJackson2HttpMessageConverter 添加到其消息转换器列表中。
1
2
3
4
5
6 @Bean
public RestTemplate createRestTemplate() {
RestTemplate RestTemplate = new RestTemplate();
RestTemplate.getMessageConverters().add(0, createMappingJacksonHttpMessageConverter());
}请注意,您应该将其添加到列表的开头,以使其优先于Spring已经注册的默认
MappingJackson2HttpMessageConverter 。进一步阅读
如何使用Spring RestTemplate将数据发布到Web服务
用Jackson处理JSON