1

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

4

1 回答 1

5

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

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

于 2015-06-05T13:40:17.883 回答