Spring RestTemplate在Rest服务中调用postForObject

时间:2012-05-23 11:05:42

标签: java spring resttemplate

我目前正在开发一个需要调用同一服务器上提供的另一个Rest-Method的Rest-Service。所以例如path / myPath / foo上的方法需要从path / myPath / restApi / bar中的方法请求一些东西

如何在不使用RestTemplate.postForObject(...)方法的完整路径的情况下使用Spring RestTemplate(或其他东西)执行此操作(不能使用完整路径,因为工件的url和端口在构建工件时不知道。

感谢您的帮助! 最好的祝福, 安迪

1 个答案:

答案 0 :(得分:1)

首先,为什么要使用URL访问同一服务器上的REST方法(看起来它是同一个应用程序),而不是直接调用第二个URL后面的服务方法?如果这是相同的servlet容器,而是多个WAR文件而不是。

回到你的问题:你拥有主机和端口。您说当客户端尝试访问/myPath/foo时,服务器应该访问/myPath/restApi/bar。当你在一个控制器/动作/处理程序方法/你的REST框架提供什么时,以某种方式获得HttpServletRequest。有了请求对象,您可以找到客户端用于连接到第一个Web服务的主机和端口。您可以使用该信息在同一服务器上调用第二个Web服务。

第二个想法:如果这是同一台服务器,你不能只使用localhost吗?