使用 spring mvc 连接 angular 代理配置时出现 404 错误

Getting 404 error when connecting angular proxy config with spring mvc

正在尝试使用代理 json 将 angular 与 spring mvc 连接。 我尝试了多次,但总是抛出 404 错误。

GET http://localhost:4200/api/v1/employees 404 (Not Found)

这是我的代码块的片段。 提前致谢。

proxy.conf.json

{
    "/api/v1": {
      "target": "http://localhost:8080",
      "secure": false,
      "changeOrigin": true
    }
  }

app.component.ts

getAllEmployees() {
    this._http.get('/api/v1/employees').subscribe(
      data => {
        this.result = data.toString();
      },
      error => {
      });
}

控制器

@RestController
@RequestMapping(value = "/api/v1")
public class HomeController {
    @RequestMapping("/employees")
    public String getDisplayMessage() {
        return "Hi Welcome!!!";
    }   
}

web.xml

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

假设在单击 html 按钮时调用 getAllEmployee() 方法。

我可以收到消息“您好,欢迎!!!” ,当我尝试 http://localhost:8080/spring-mvc-demo/api/v1/employees

谁能告诉我哪里写错了?

看到不一致之处:您的代码对 /api/v1/employees 的请求被代理到(我们只是在前面加上 http://localhost:8080http://localhost:8080/api/v1/employees 并且在您的 api 正如你所说的路径 http://localhost:8080/spring-mvc-demo/api/v1/employees 是预期的。我相信你的代理应该是

{
    "/api/v1": {
      "target": "http://localhost:8080/spring-mvc-demo",
      "secure": false,
      "changeOrigin": true
    }
  }