我正在尝试设置angular以代理外部API请求,而不是请求与运行/托管angular相同的基本网址的请求。
因此angular在http://localhost:4200/
上运行,我希望代理捕获对http://foo.bar.baz:8080/api
的请求
以下配置无效,并因以下错误而失败:
错误:[HPM]无效的上下文。预期类似:[“ / api”,“ / ajax”]或[“ / api / ”,“! .html”]
proxy.conf.json
{
"http://foo.bar.baz:8080/api": {
"target": "http://localhost:3000",
"secure": false,
"logLevel": "debug"
}
}
我也尝试了"*/api/**": {
,但是遇到了同样的错误。因此,看来网址必须以/
我该如何前进?
-更新-
这是HttpClient请求:
this.http.get("http://foo.bar.baz:8080/api")...
答案 0 :(得分:0)
类似的东西应该起作用:
{
"/api": {
"target": "http://localhost:3000",
"secure": false,
"logLevel": "debug",
"changeOrigin": true,
"pathRewrite": {
"^/api": ""
}
}
}
更多信息here。
答案 1 :(得分:0)
像这样修改代码
{
"/http://foo.bar.baz:8080/api":{
"target":"http://localhost:3000",
"secure": false,
"logLevel": "debug"
}
}
像这样更改您的服务
this.http.get("./http://foo.bar.baz:8080/api")