ngx-rocket后端代理不起作用

时间:2018-07-11 06:12:14

标签: angular angular6

我已经使用generator-ngx-rocket设置了默认的ngx-rocket应用。现在,我想更改代理配置,以便将对/api的调用重定向到http://localhost:8080/api(这是我的ng dev服务器),重定向到http://localhost:4200/api(这是我的后端spring-boot应用程序)。

我在proxy.conf.js中更改了以下内容:

const proxyConfig = [
  {
    context: '/api',
    pathRewrite: { '^/api': '' },
    target: 'http://localhost:8080',
    changeOrigin: true,
    secure: false
  }
];

当我发出诸如this.httpClient.get<any[]>('/companies');之类的http请求时,我收到一条错误消息,告诉我我请求了http://localhost:4200/api/companies

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

我刚刚遇到了这个问题,而且我只是一个新手,所以请带着我要说的盐说些什么。

您必须了解正在发生的事情。该代理是后端代理,可帮助将不同的请求重定向到不同的端点。

即使您看到localhost:4200,也在内部对其进行重定向。结果显示在启动npm start命令的控制台上。您会看到它正在从localhost:4200重写为localhost:8080。

我不完全理解上下文的概念,但是如果您阅读了配置,则说明请求应删除/ api前缀(pathRewrite选项)。玩具,看看是否可以使其工作。我的proxy.conf.js看起来像您的,但是我将上下文设置为“ /”,因此每个请求都得到了代理,根本没有pathRewrite。

编辑:还记得您在environment.ts和environment.prod.ts中设置了serverUrl

相关问题