我目前正在开发一个需要调用同一服务器上提供的另一个Rest-Method的Rest-Service。所以例如path / myPath / foo上的方法需要从path / myPath / restApi / bar中的方法请求一些东西
如何在不使用RestTemplate.postForObject(...)方法的完整路径的情况下使用Spring RestTemplate(或其他东西)执行此操作(不能使用完整路径,因为工件的url和端口在构建工件时不知道。
感谢您的帮助! 最好的祝福, 安迪
答案 0 :(得分:1)
首先,为什么要使用URL访问同一服务器上的REST方法(看起来它是同一个应用程序),而不是直接调用第二个URL后面的服务方法?如果这是相同的servlet容器,而是多个WAR文件而不是。
回到你的问题:你做拥有主机和端口。您说当客户端尝试访问/myPath/foo
时,服务器应该访问/myPath/restApi/bar
。当你在一个控制器/动作/处理程序方法/你的REST框架提供什么时,以某种方式获得HttpServletRequest
。有了请求对象,您可以找到客户端用于连接到第一个Web服务的主机和端口。您可以使用该信息在同一服务器上调用第二个Web服务。
第二个想法:如果这是同一台服务器,你不能只使用localhost
吗?