springboot 2.x RestTemplate配置config

Posted Peter-OK

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot 2.x RestTemplate配置config相关的知识,希望对你有一定的参考价值。

代码配置如下,可解决中文乱码问题


import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.web.client.RestTemplate;

import java.nio.charset.Charset;

/**
 * @program: micro-cloud
 * @description: RestTemplate配置
 * @author: PeterW
 * @create: 2020-12-10
 */

@Configuration
public class RestConfig 

    /**
     * 创建HTTP客户端工厂
     *
     * @throws Exception
     */
    @Bean(name = "clientHttpRequestFactory")
    public ClientHttpRequestFactory clientHttpRequestFactory() throws Exception 
        SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
        // 数据读取超时时间,即SocketTimeout
        factory.setReadTimeout(180000);
        // 连接超时
        factory.setConnectTimeout(5000);
        return factory;
    

    /**
     * 初始化RestTemplate,并加入spring的Bean工厂,由spring统一管理
     */
    @Bean(name = "restTemplate")
    public RestTemplate restTemplate(ClientHttpRequestFactory clientHttpRequestFactory) 
        RestTemplate restTemplate =  new RestTemplate(clientHttpRequestFactory);
        restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(Charset.forName("UTF-8")));
        return restTemplate;
    

 

 

以上是关于springboot 2.x RestTemplate配置config的主要内容,如果未能解决你的问题,请参考以下文章

无论如何从 AsyncResttemplate 获取 http.client.requests 指标?

SpringBoot 2.x 系列:配置

SPRINGBOOT启动原理(基于2.x版本)

springBoot 1.x和2.x 获取application.yml参数的方法

springBoot 1.x和2.x 获取application.yml参数的方法

SpringBoot 2.x版本整合redis集群