如何在xml配置中将消息转换器添加到restTemplate

时间:2015-06-05 13:08:12

标签: rest jackson resttemplate spring-json

我使用restTemplate从远程服务器中获取json数据,然后使用jackson解析我的java对象中的json。我已经通过java代码将所需的消息转换器添加到我的restTemplate:

List<HttpMessageConverter<?>> messageConverters = new ArrayList<HttpMessageConverter<?>>();
messageConverters.add(new FormHttpMessageConverter());
messageConverters.add(new StringHttpMessageConverter());
messageConverters.add(new MappingJacksonHttpMessageConverter());
restTemplate.setMessageConverters(messageConverters);
restTemplate.setRequestFactory(new CommonsClientHttpRequestFactory());

MyResponse myResponse = restTemplate.getForObject(caasUrl, MyResponse.class);

我的restTemplate在我的spring-config文件中定义为:

<bean id="restTemplate" class="org.springframework.web.client.RestTemplate">
        <constructor-arg>
            <bean class="org.springframework.http.client.HttpComponentsClientHttpRequestFactory">
                <property name="readTimeout" value="630000" />
                <property name="connectTimeout" value="30000" />
            </bean>
        </constructor-arg>
    </bean>

它的工作正常,现在我的问题是如何将消息转换器列表传递给xml配置中的restTemplate,因为我不想通过java代码执行相同的操作。任何帮助请

1 个答案:

答案 0 :(得分:4)

试试这个......下面的示例代码只显示了2个转换器。

    

<property name="messageConverters">
    <list>
        <bean class="org.springframework.http.converter.FormHttpMessageConverter"/>
        <bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
        ......more....
    </list>
</property>