从相对 uri 使用 REST Web 服务
Consume REST Web Service from relative uri
是否可以从相对 uri 而不是绝对 uri 使用 RESTful 网络服务?当我 运行 下面的代码时,我得到一个异常 java.lang.IllegalArgumentException: URI is not absolute.
RestTemplate rt = new RestTemplate();
User x = rt.getForObject("/dispatcher/rest/hello",User.class);
我问这个的原因是因为如果我在 uri 前加上 localhost:8080/,当应用程序部署时我必须更改所有 uri 前缀。
除非您有一个添加 URI 前缀的辅助方法(我在这里没有看到),否则该方法应该会抛出该错误,因为它没有可用于调用 REST 的绝对 URI API.我不知道有什么方法可以使用绝对 URI。
关于部署,您可以在数据库或配置文件中使用配置 table 并根据您要部署到的环境(DEV、TEST)读取属性,例如您的 URI 前缀、产品等)。
是否可以从相对 uri 而不是绝对 uri 使用 RESTful 网络服务?当我 运行 下面的代码时,我得到一个异常 java.lang.IllegalArgumentException: URI is not absolute.
RestTemplate rt = new RestTemplate();
User x = rt.getForObject("/dispatcher/rest/hello",User.class);
我问这个的原因是因为如果我在 uri 前加上 localhost:8080/,当应用程序部署时我必须更改所有 uri 前缀。
除非您有一个添加 URI 前缀的辅助方法(我在这里没有看到),否则该方法应该会抛出该错误,因为它没有可用于调用 REST 的绝对 URI API.我不知道有什么方法可以使用绝对 URI。
关于部署,您可以在数据库或配置文件中使用配置 table 并根据您要部署到的环境(DEV、TEST)读取属性,例如您的 URI 前缀、产品等)。