首页 > 解决方案 > 角度代理配置;代理 URL 获取参数

问题描述

我需要添加一个代理配置来向另一个域上运行的 Web 服务发出 GET 请求(我正在 localhost:4200 上进行测试)。我已将以下proxy.conf.json文件添加到项目的根目录

{
  "/address/*": {
    "target": "https://api-url.com/address/",
    "secure": false,
    "changeOrigin": true,
    "logLevel": "debug"
  }
}

并将--proxy-config=proxy.conf.json标志添加ng servepackage.json. 我的 GET 请求非常简单;

const url = `/address/cities?cityName=&zipCode=2000&languageCode=NL`;

const result = await fetch(url, {
  method: 'GET'
});

return await result.json();

我可以看到代理在登录到终端时工作,但实际请求在被代理[HPM] GET /address/cities?cityName=&zipCode=2000&languageCode=NL -> https://api-url.com/address/后不起作用。/address/是否可以将 URL 参数传递给代理?

标签: angularproxy

解决方案


正如在其中一条评论中发布的那样,答案是/address从目标中删除。

{
  "/address/*": {
    "target": "https://api-url.com/",
    "secure": false,
    "changeOrigin": true,
    "logLevel": "debug"
  }
}

/如果目标末尾缺少URL 参数,我们还遇到了无法正确代理的问题。


推荐阅读