zoukankan      html  css  js  c++  java
  • Spring RestTemplate 之中文乱码

    由于RestTemplate的默认构造方法初始化的StringHttpMessageConverter的默认字符集是ISO-8859-1,所以导致RestTemplate请求的响应内容会出现中文乱码。

    解决办法:

    springboot中@Bean配置的时候要把StringHttpMessageConverter编码改成UTF8格式。:

    @Bean    

    public RestTemplate restTemplate() {

            RestTemplate restTemplate = new RestTemplate();

            restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));        

            return restTemplate;

        }

    applicationContext.xml配置中:

    <bean id="requestFactory" class="org.springframework.http.client.SimpleClientHttpRequestFactory">

            <property name="readTimeout" value="10000"/>

            <property name="connectTimeout" value="5000"/>

    </bean>

    <bean id="simpleRestTemplate" class="org.springframework.web.client.RestTemplate">

           <constructor-arg ref="requestFactory"/>

           <property name="messageConverters">

                <list>

                    <bean class="org.springframework.http.converter.FormHttpMessageConverter"/>

                    <bean class="org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter"/>

                    <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>

                    <bean class="org.springframework.http.converter.StringHttpMessageConverter">

                         <property name="supportedMediaTypes">

                                <list>

                                    <value>text/plain;charset=UTF-8</value>

                                </list>

                         </property>

                    </bean>

                </list>

            </property>

      </bean>

  • 相关阅读:
    必会重构技巧(二):使用多态替换条件
    必会重构技巧(五):划分职责
    Flickr 网站架构分析
    必会重构技巧(三):提取接口
    WCF 一步一步 发布 WCF服务 到 IIS (图)
    LINQ 图解
    在Silverlight中如何创建WCF Service
    必会重构技巧(四):提取工厂类
    技术汇总:第十四章:电脑端生成支付宝二维码支付
    HDU 4463 Outlets 2012年亚洲区域赛杭州赛区现场赛K题
  • 原文地址:https://www.cnblogs.com/jnba/p/10522613.html
Copyright © 2011-2022 走看看