Я пытаюсь использовать RestTemplate
с @EnableDiscoveryClient
, который в конечном итоге вызывает перехватчик ленты. Вниз стек вызовов, следующий вызов заканчивается делается:Вызов RestTemplate с ленточным перехватчиком
org.springframework.cloud.netflix.ribbon.RibbonClientHttpRequestFactory$
RibbonHttpRequest.getBodyInternal(RibbonClientHttpRequestFactory.java:105)
Теперь, вот код этого getBodyInternal
метода:
@Override
protected OutputStream getBodyInternal(HttpHeaders headers) throws IOException {
throw new RuntimeException("Not implemented");
}
Мой вопрос: что случаи приводят к этому не реализованному методу и как я могу избежать этого? Я использую RestTemplate.postForLocation
. Это общепринятое предположение, что этот метод не следует вызывать с помощью Ribbon-перехватчика?
Какая версия вы используете? – spencergibb
Использование 1.0.2.RELEASE. Похоже, что это происходит и с RestTemplate.exchange. Также стоит отметить, что у меня нет ручного перехватчика. Все, что я делаю, объявляет restTemplate как @Autowired. – Klaus
Попробуйте использовать версию '1.0.3.RELEASE', которая является частью' spring-cloud-starter-parent: Angel.SR3'. Этот метод был реализован. – spencergibb