Angularjs 配置所有$http&;的重定向$对其他端点的资源调用

Angularjs 配置所有$http&;的重定向$对其他端点的资源调用,angularjs,json-server,Angularjs,Json Server,我想运行一个模拟服务器,例如,在开发过程中(例如,当真正的后端服务关闭时),在真正的JavaRESTAPI后端和这个JSON服务器之间切换。是否有一种方法可以轻松配置angular,以便对所有请求使用不同的主机 我的设置: localhost:8080-SpringMVC应用程序,服务于SPA+API localhost:8080/api-Spring MVC Rest api localhost:9090/api-JSON服务器 我想在调用localhost:8080/api和localh

我想运行一个模拟服务器,例如,在开发过程中(例如,当真正的后端服务关闭时),在真正的JavaRESTAPI后端和这个JSON服务器之间切换。是否有一种方法可以轻松配置angular,以便对所有请求使用不同的主机

我的设置:

  • localhost:8080-SpringMVC应用程序,服务于SPA+API
  • localhost:8080/api-Spring MVC Rest api
  • localhost:9090/api-JSON服务器

我想在调用
localhost:8080/api
localhost:9090/api
之间切换,为整个角度应用程序设置一行。

我们可以设置prefixURI变量,以快速更改为指向不同的api

用法:

var prefixURI ='https://••••':
//var prefixURI = '';//if you are on same port it is empty
$http.get(prefixURI+'posts');

@彼得拉维亚诺夫给了我暗示。使用
json代理
这与启动代理一样简单:

json代理-p8081-f”/api=http://localhost:9090“-f”/=http://localhost:8080“


并通过端口
8081
访问应用程序。“常规”请求仍将传递到
8080
(Tomcat服务于SpringMVC应用程序)。所有API调用都将转到
9090
(JSON服务器)。

不确定您使用什么将请求路由到上述后端服务,但如果您使用的是node/Express后端,您可以设置并使用环境变量来检测您是否在dev中,并使用该逻辑来路由请求。请检查更新的问题您需要编写可以切换的代码(这实际上是一个很好的实践),或者您需要代理请求(我们使用webpack来做这件事——就像谷歌的“代理+json服务器”一样)@PetrAveryanov:如果我理解正确,如果后端在节点/使用webpack dev服务器中运行,这个带有webpack的代理可以完成吗?