Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当从同一主机向相同url的卷曲工作正常时,为什么本地主机的Spring RestTemplate.getForObject()会得到404?_Spring_Spring Boot_Jersey_Jax Rs - Fatal编程技术网

当从同一主机向相同url的卷曲工作正常时,为什么本地主机的Spring RestTemplate.getForObject()会得到404?

当从同一主机向相同url的卷曲工作正常时,为什么本地主机的Spring RestTemplate.getForObject()会得到404?,spring,spring-boot,jersey,jax-rs,Spring,Spring Boot,Jersey,Jax Rs,我有一个SpringBoot服务,它通常调用外部REST服务。它通常运行良好。外部服务是Bing地图,但这并不重要 我需要对这个外部服务提供的结果进行一些临时模拟,因此我生成了一个小型SpringBoot Jersey skeleton应用程序,并为单个资源方法提供了与所调用的服务相同的路径值。我在Eclipse中运行它,并在该方法中设置断点。我在8090端口启动了这个模拟服务 在主服务中,我也在Eclipose中运行它,并在它即将调用Bing Maps的位置设置一个断点。我保存了它连接到的完整

我有一个SpringBoot服务,它通常调用外部REST服务。它通常运行良好。外部服务是Bing地图,但这并不重要

我需要对这个外部服务提供的结果进行一些临时模拟,因此我生成了一个小型SpringBoot Jersey skeleton应用程序,并为单个资源方法提供了与所调用的服务相同的路径值。我在Eclipse中运行它,并在该方法中设置断点。我在8090端口启动了这个模拟服务

在主服务中,我也在Eclipose中运行它,并在它即将调用Bing Maps的位置设置一个断点。我保存了它连接到的完整url。在shell中,我使用“curl”连接到该url,将host:port更改为“localhost:8090”,以便它转到模拟服务,而不是真正的Bing地图服务。它击中了模拟服务中方法中的断点,我让它返回到主服务,结果与我从模拟服务返回的结果一致

然后,我回到主服务中的断点,将它要连接的url更改为我从“curl”连接到的确切url。我让它继续下去

呼叫失败,返回404。它从未在模拟服务中命中断点

我无法理解这一点。主服务和模拟服务都在我的笔记本电脑上运行,分别监听端口8080和8090


为什么我可以从shell中的curl访问模拟服务url,但不能从服务中访问?

不要紧,我没有意识到该服务需要使用代理,连接到本地主机上运行的服务将无法工作。请发布如何使用
curl
restemplate\getForObject(…)
发送?看起来你用不同的方式来称呼它。。。