最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
如何配置SpringTemplate的HTTP消息转换器及其默认支持类型?
时间:2026-07-24 09:10:24 编辑:袖梨 来源:一聚教程网
spring template配置示例
@Bean
public RestTemplate restTemplate() {
SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
requestFactory.setConnectTimeout(6000);// 设置建立连接超时时间 毫秒
requestFactory.setReadTimeout(6000);// 设置读取数据超时时间 毫秒
RestTemplate restTemplate = new RestTemplate(requestFactory);
// jackson配置
ObjectMapper objectMapper = new ObjectMapper();
// 配置如果被序列化的对象没有可访问的属性 不报错,返回一个空的bean,即{}
objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
// 创建json消息转换器
MappingJackson2HttpMessageConverter jacksonConverter = new MappingJackson2HttpMessageConverter(objectMapper);
List<MediaType> mediaTypes = new ArrayList<>(jacksonConverter.getSupportedMediaTypes());
// 为json消息转换器新增直接text_plain类型 避免遇到响应体是json,而响应头是text/plain类型无法找到适合的解析
mediaTypes.add(MediaType.TEXT_PLAIN);
jacksonConverter.setSupportedMediaTypes(mediaTypes);
List<HttpMessageConverter<?>> messageConverters = Arrays.asList(
new ByteArrayHttpMessageConverter(),
new StringHttpMessageConverter(Charset.forName("utf-8")),
new ResourceHttpMessageConverter(),
new SourceHttpMessageConverter<>(),
new FormHttpMessageConverter(),
jacksonConverter
);
restTemplate.setMessageConverters(messageConverters);
return restTemplate;
}
各种解析器默认支持的类型表
| 类名 | 支持的JavaType | 支持的MediaType |
|---|---|---|
| ByteArrayHttpMessageConverter | byte[] | application/octet-stream, */* |
| StringHttpMessageConverter | String | text/plain, */* |
| ResourceHttpMessageConverter | Resource | */* |
| SourceHttpMessageConverter | Source | application/xml, text/xml, application/*+xml |
| AllEncompassingFormHttpMessageConverter | Map<K, List<?>> | application/x-www-form-urlencoded, multipart/form-data |
| MappingJackson2HttpMessageConverter | Object | application/json, application/*+json |
| Jaxb2RootElementHttpMessageConverter | Object | application/xml, text/xml, application/*+xml |
| JavaSerializationConverter | Serializable | x-java-serialization;charset=UTF-8 |
| FastJsonHttpMessageConverter | Object | */* |
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。

- springboot 如何通过SpringTemplateEngine渲染html
- SpringBoot中RedisTemplate与StringRedisTemplate常用Redis API速查
- Spring使用JdbcTemplate轻量完成数据库增删改查的实战指南
- SpringBoot集成Redis之RedisTemplate实践
- SpringBoot整合JdbcTemplate快速开发数据访问层
- Spring Boot 使用 WebServiceTemplate 调用 WebService的完整步骤
相关文章
- 2026年三角洲行动账号交易:6大交易平台综合对比及安全选购指南 07-26
- 无限暖暖万相境88血怪怎么打 07-26
- 三角洲行动幸运鸟窝什么时候开启:三角洲行动幸运鸟窝介绍 07-26
- 三角洲行动游戏账号交易平台推荐及安全交易指南 07-26
- 三角洲行动阿萨拉暖冬季活动玩法详解:任务流程 奖励获取及新手攻略 07-26
- 地下城堡4龙痕竞技场徽记的作用 地下城堡4龙痕竞技场徽记获取方法 07-26