Ami*_*ain 14 spring resttemplate
除了扩展RestTemplate和覆盖execute方法之外,还有其他方法可以使用基URI初始化RestTemplate.当前我有类似下面的代码.谢谢
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)
}
Run Code Online (Sandbox Code Playgroud)
Mat*_*fek 28
春季5.0:
这会发送一个GET请求 http://localhost:8080/myservice
RestTemplate restTemplate = new RestTemplate();
restTemplate.setUriTemplateHandler(new DefaultUriBuilderFactory("http://localhost:8080"));
restTemplate.getForObject("/myservice", String.class);
Run Code Online (Sandbox Code Playgroud)
Som*_*omu 10
如果您使用的是Spring Boot,则可以使用 org.springframework.boot.web.client.RestTemplateBuilder.rootUri(baseUrl).build()
您可以创建自定义 DefaultUriTemplateHandler
DefaultUriTemplateHandler defaultUriTemplateHandler = new DefaultUriTemplateHandler();
defaultUriTemplateHandler.setBaseUrl(url);
Run Code Online (Sandbox Code Playgroud)
然后将其添加到 restTemplate
return new RestTemplateBuilder()
.uriTemplateHandler(defaultUriTemplateHandler)
.build();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10556 次 |
| 最近记录: |