【问题标题】:Consume REST Web Service from relative uri从相对 uri 使用 REST Web 服务
【发布时间】:2017-07-07 11:33:00
【问题描述】:

是否可以从相对 uri 而不是绝对 uri 使用 RESTful Web 服务?当我运行以下代码时,我得到一个异常 java.lang.IllegalArgumentException: URI is not absolute。

RestTemplate rt = new RestTemplate();
User x = rt.getForObject("/dispatcher/rest/hello",User.class);

我问这个的原因是因为如果我在 uri 前面加上 localhost:8080/,当应用程序被部署时,我必须更改所有 uri 前缀。

【问题讨论】:

    标签: spring web-services rest resttemplate


    【解决方案1】:

    除非您有一个添加 URI 前缀的辅助方法(我在这里看不到),否则该方法应该会抛出该错误,因为它没有用于调用 REST API 的绝对 URI。我不知道有什么方法可以使用绝对 URI。

    关于部署,您可以使用数据库或配置文件中的配置表并读取属性,例如您的 URI 前缀,具体取决于您要部署到的环境(DEV、TEST、PROD 等)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      • 2011-06-09
      • 2014-02-27
      • 1970-01-01
      • 2011-11-15
      • 1970-01-01
      相关资源
      最近更新 更多