0
我試圖使用RestTemplate
和@EnableDiscoveryClient
,最終調用Ribbon Interceptor。順着調用堆棧,下面的調用最終被提出:使用Ribbon攔截器調用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
嘗試使用屬於'spring-cloud-starter-parent:Angel.SR3'的一部分的版本'1.0.3.RELEASE'。該方法已實施。 – spencergibb