0

理想情况下,我只想要一个字符串列表,或 Hashmap String,String :

List<String> = restTemplate.getForObject(url, List.class, urlVariables);

但是我收到错误无法提取响应:没有找到适合响应类型的 HttpMessageConverter。

我可以使用restclient访问restful api并检索以下内容:

Content-Type    text/javascript; charset=iso-8859-1

响应主体是:

[{"name":"lemons"},{"name":"pears"},{"name":"apples"}]

我的 restTemplate 定义如下:

<bean id="restTemplate" class="org.springframework.web.client.RestTemplate">
        <property name="messageConverters">
            <list>
                <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>                
            </list>
        </property>
    </bean>
4

2 回答 2

1

我没有合适的项目来测试它,但请尝试:

<bean id="restTemplate" class="org.springframework.web.client.RestTemplate">
  <property name="messageConverters">
    <list>
      <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
        <property name="supportedMediaTypes" value="text/javascript" />
      </bean>
    </list>
  </property>
</bean>
于 2012-06-21T12:49:36.793 回答
0

我想你可能想看看这个:

https://spring.io/guides/gs/consuming-rest/

该页面说:

如果您看到错误 Could not extract response: no proper HttpMessageConverter found for response type [class hello.Quote] 可能您处于无法连接到后端服务的环境中(如果您可以访问它,它将发送 JSON)。也许您支持公司代理?尝试将标准系统属性 http.proxyHost 和 http.proxyPort 设置为适合您环境的值。

这几乎就是你得到的。我知道最初的问题是在 2012 年,但希望其他人会将此视为可能的解决方案。

于 2018-04-03T18:58:33.667 回答