#java #spring #resttemplate
#java #весна #resttemplate
Вопрос:
Я вызываю конечную точку клиента : ResponseEntity<String> responseBody = restTemplate.exchange(destEndpoint, HttpMethod.POST, entity, String.class);
Но когда я звоню: responseBody.getBody();
я получаю пустой ответ.
Но когда я использую перехватчик (ClientHttpRequestInterceptor) и регистрирую ответ, я вижу, что тело ответа напечатано. List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>();
interceptors.add(new LoggingRequestInterceptor());
restTemplate.setInterceptors(interceptors);
Я попытался расширить класс HttpMessageConverterExtractor<String>
, и во время отладки я вижу только заголовок и статус, а в объекте ответа нет тела.
Комментарии:
1. Вы получаете какие-либо ошибки?
2. Нет, я не получал никакой ошибки. Проблема заключалась в том, что перехватчик использовал InputStreamReader для регистрации тела, и содержимое было сброшено, а тело ответа терялось. Я удалил InputStreamReader, и теперь он работает правильно. Спасибо за ответ.
3. большое спасибо @shadab, ты мне очень помог = D