1

リモートサーバーからjsonデータを消費するためにrestTemplateを使用し、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>

そして、それは正常に機能しています。私の質問は、Javaコードで同じことをしたくないので、xml構成でメッセージコンバーターのリストをrestTemplateに渡す方法です。助けてください

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 に答える