【发布时间】:2018-03-07 14:51:24
【问题描述】:
Pre-Spring 5,配置 RestTemplate 访问单个 REST 主机的常用方法如下:
DefaultUriTemplateHandler uriTemplateHandler = new DefaultUriTemplateHandler();
uriTemplateHandler.setBaseUrl("http://host:port");
restTemplate.setUriTemplateHandler(uriTemplateHandler);
这样在进行 REST 调用时,可以使用 restTemplate.getForObject("/api/foo") 而不是 restTemplate.getForObject("http://host:port/api/foo")(并且可能在某个集中位置配置 REST 根 URL)
在 Spring 5 中,DefaultUriTemplateHandler 已弃用,建议替换为 DefaultUriBuilderFactory。然而,虽然RestTemplate 仍然有setUriTemplateHandler 方法,但它没有接受UriBuilderFactory 的setter,UriBuilderFactory 也没有类似setBaseUrl 的任何东西
Spring 5 中这种配置模式的正确替代品是什么?
【问题讨论】:
标签: spring rest spring-mvc