如何代理API请求? (角-CLI)

时间:2018-05-18 09:43:00

标签: spring angular spring-security angular5

我正在使用Spring-4和Angular-5开发Java项目。会话在春天生成。

所以,我无法从角度服务生成此会话。它正在为Postman工作,我能够在PostMan中得到回复。 但它没有使用Angular post方法调用。

所以,我认为这可能是代理问题。 (如果我错的话,请跟我来。)

所以,我的本地网址是: - http://localhost:8080/MacromWeb/ws/login 那么,我如何制作proxy.conf.json文件?

因此,我已将此代码添加到我的package.json文件

"start": "ng serve --proxy-config proxy.conf.json",

我创建了一个名为proxy.conf.json的新文件。 并将此代码放入其中。

{
  "/": {
    "target": "http://localhost:8080/MacromWeb/ws",
    "secure": false
  }
}

然后我尝试了ng servenpm start

邮差截图。 enter image description here

2 个答案:

答案 0 :(得分:1)

您可以通过代理实现此目的,您需要在代理配置中提供适当的值。

/*也应该有用,但如果MacromWeb在API网址中很常见,那么/代替/MacromWeb/*

proxy.conf.json看起来像这样,

{
    "/MacromWeb/*": {
        "target": {
            "host": "localhost",
            "protocol": "http:",
            "port": 8080
        },
        "secure": false,
        "changeOrigin": true,
        "logLevel": "debug"
    }
}

希望它有所帮助。

答案 1 :(得分:0)

假设我们在http://localhost:3000上运行了服务器,我们希望所有对http://localhost:4200/api的呼叫都转到该服务器。

在我们的proxy.conf.json文件中,我们添加以下内容

{
  "/api": {
    "target": "http://localhost:3000",
    "secure": false,
    "pathRewrite": {
      "^/api": ""
    }
  }
}

更多相关信息:here