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

How to add message converter to restTemplate in xml configuration

我正在使用 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 代码做同样的事情。请帮忙

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

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