【问题标题】:Spring RestTemplate postForObject call within Rest service在 Rest 服务中调用 Spring RestTemplate postForObject
【发布时间】:2012-05-23 11:05:42
【问题描述】:

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

如何在不使用 RestTemplate.postForObject(...) 方法中的完整路径的情况下使用 Spring RestTemplate(或其他东西)来做到这一点(无法使用完整路径,因为工件的 url 和端口在构建工件时不知道)。

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

【问题讨论】:

    标签: java spring resttemplate


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢。事实上,我能够得到 HttpServletRequest 并以这种方式处理它。
    猜你喜欢
    • 1970-01-01
    • 2019-03-20
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    相关资源
    最近更新 更多