Spring RestTemplate:URI不是绝对的

时间:2017-07-26 13:11:41

标签: java spring uri

我正在尝试连接到运行webapp的同一台服务器上的 Spring RESTful服务

我想使用“相对”路径,因为它可以安装在多个环境(localhost,test,production)上,但是我收到错误消息:PrettySqlRollingFileAppender

如何在同一台服务器上调用另一个webapp上运行的服务?

我的代码如下:

URI is not absolute

感谢。

更新

我通过从final RestTemplate restTemplate = new RestTemplate(); URI uri; try { String url = "app2/myservice?par=1"; uri = new URI(url); String result = restTemplate.getForObject(uri, String.class); System.out.println(result); } catch (URISyntaxException e) { logger.error(e.getMessage()); } 获取主机,端口等来解决它,它是否是一个正确而优雅的解决方案?这是我的实际简化代码:

request

3 个答案:

答案 0 :(得分:1)

如果您的服务在其他网络应用程序或同一服务器上运行,则您的网址 app2/myservice?par=1 不完整。

您必须通过提供基本网址 localhost:8080/yourApp/app2/myservice?par=1 来完成路径,然后事情可能适合您。

另外,请检查包访问权限。

答案 1 :(得分:0)

您无法在第一个代码段中将其作为代码执行; URI必须完全标识您尝试访问的资源。你的第二个片段几乎是你可以做你想做的事情的唯一方法。可能还有其他方法,但我无法想到任何方法。

当然,使用您的方法,您正在规定您的系统架构和部署模型 代码 ,这几乎不是一个好主意。

答案 2 :(得分:0)

提供完整路径,例如 http://localhost:8080/app2/myservice?par=1 。 希望这会有所帮助。