我需要添加一个代理配置,以向运行在另一个域上的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 serve
中的package.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://onboarding-api-tst.crelan-int.be/address/
被记录到终端后,代理起作用了,但是在/address/
被代理之后,实际的请求就什么也没有起作用。是否可以将URL参数传递给代理?
答案 0 :(得分:0)
正如其中一条评论中所述,答案是从目标中删除/address
。
{
"/address/*": {
"target": "https://api-url.com/",
"secure": false,
"changeOrigin": true,
"logLevel": "debug"
}
}
如果在目标末尾缺少/
,我们还会遇到URL参数不能正确代理的问题。