除了扩展RestTemplate和覆盖execute method.currently之外,有没有其他方法可以用基URI初始化RestTemplate ?我有像below.Thanks这样的代码
class CustomRestTemplate extends RestTemplate {
String baseUrl
@Override
protected T doExecute(URI url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor responseExtractor) throws RestClientException {
return super.doExecute(new URI(baseUrl + url.toString()), method, requestCallback, responseExtractor)
}
发布于 2018-01-04 23:36:59
Spring 5.0:
这将向http://localhost:8080/myservice
发送一个GET请求
RestTemplate restTemplate = new RestTemplate();
restTemplate.setUriTemplateHandler(new DefaultUriBuilderFactory("http://localhost:8080"));
restTemplate.getForObject("/myservice", String.class);
发布于 2018-04-11 16:52:35
如果您使用的是Spring Boot,则可以使用org.springframework.boot.web.client.RestTemplateBuilder.rootUri(baseUrl).build()
发布于 2018-03-05 18:15:14
您可以创建自定义DefaultUriTemplateHandler
DefaultUriTemplateHandler defaultUriTemplateHandler = new DefaultUriTemplateHandler();
defaultUriTemplateHandler.setBaseUrl(url);
然后将其添加到restTemplate
return new RestTemplateBuilder()
.uriTemplateHandler(defaultUriTemplateHandler)
.build();
https://stackoverflow.com/questions/44684823
复制相似问题