RestTemplate - RestClientException - Не удалось извлечь ответ

Я использую RestTemplate в своем приложении Spring для взаимодействия с API. Я делаю запрос GET и ожидаю некоторый JSON в ответ. Код для этого выглядит следующим образом:

HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<MultiValueMap<String, String>>(null, requestHeaders);
ResponseEntity responseLogin = restTemplate.exchange(url, HttpMethod.GET, requestEntity, MyResponse.class);

Когда я запускаю это, его разрывы в следующей строке:

ResponseEntity responseLogin = restTemplate.exchange(url, HttpMethod.GET, requestEntity, MyResponse.class);

Я получаю следующее исключение:

Could not extract response: no suitable HttpMessageConverter found for response type [com.responses.MyResponse] and content type [application/json;charset=utf-8]

Я новичок в RestTemplates и взаимодействую с REST API с Java в целом, поэтому любая помощь в решении этой проблемы будет высоко оценена.

1 ответ

Вам необходимо указать свой конвертер сообщений и связать его:

  <mvc:annotation-driven>
    <mvc:message-converters register-defaults="false">
        <bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="objectMapper" ref="jacksonObjectMapper" />
            <property name="supportedMediaTypes">
                <list>
                    <bean class="org.springframework.http.MediaType">
                        <constructor-arg index="0" value="application" />
                        <constructor-arg index="1" value="json" />
                        <constructor-arg index="2" value="UTF-8" />
                    </bean>
                </list>
            </property>

        </bean>
    </mvc:message-converters>
</mvc:annotation-driven>
Другие вопросы по тегам