【问题标题】:Set base URL/URI on Spring's RestTemplate in Spring 5.0在 Spring 5.0 中在 Spring 的 RestTemplate 上设置基本 URL/URI
【发布时间】:2018-03-29 22:12:06
【问题描述】:

我在 Spring Boot 2 应用程序中使用 Spring 5 的 RestTemplate,并尝试在其上设置基本 URL/URI,这样我就不必在每个请求前面加上它。这也将允许我根据属性设置此值。

ReleaseTemplate 的早期版本允许您通过构造函数设置基本 url(例如new ReleaseTemplate(baseUrl))。但现在已经不是这样了。

我看到DefaultUriTemplateHandler 类有一个setBaseUrl(),它继承自AbstractUriTemplateHandler 接口,但该类已被弃用。建议的替换类DefaultUriBuilderFactory 没有任何此类方法。

任何建议将不胜感激。谢谢。

【问题讨论】:

    标签: java spring spring-boot


    【解决方案1】:

    尝试使用以下方法:-

    String BASE_URI_TEMPLATE = "http://localhost:8080";
    
    DefaultUriBuilderFactory uriBuilderFactory = new DefaultUriBuilderFactory(BASE_URI_TEMPLATE);
    
    RestTemplate restTemplate = new RestTemplate();
    restTemplate.setUriTemplateHandler(uriBuilderFactory);
    restTemplate.getForObject("/test", String.class); // like you may have used earlier
    

    【讨论】:

    • 谢谢,这太棒了。我缺少的部分是方法RestTemplate.setUriTemplateHandler(),这是关键。此外,值得向其他人指出,您不能将它与需要 URI 对象的 RestTemplate 方法一起使用,因为它没有完整路径。
    猜你喜欢
    • 2017-12-22
    • 2018-10-10
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 2011-12-10
    • 2013-10-14
    • 2014-01-20
    • 2012-02-21
    相关资源
    最近更新 更多