You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 5与Spring Boot通过REST API集成配置求助

解决Angular 5与Spring Boot的代理对接问题

看起来你已经找对了集成的方向,不过当前的代理配置还需要微调才能实现你想要的效果。让我一步步帮你梳理和修正:

1. 修正代理配置文件 (proxy.conf.json)

你当前的proxy规则只匹配了api这个路径段,但Angular的代理需要更精确的匹配规则才能正确转发所有/api开头的请求到后端。更新你的配置文件如下:

{
  "/api/**": {
    "target": "http://localhost:8080",
    "secure": false,
    "changeOrigin": true
  }
}
  • /api/**:表示匹配所有以/api开头的请求(包括/api/demo、/api/xxx等深层路径)
  • changeOrigin: true:这个参数很关键,它会修改请求头中的Host字段为目标服务器地址,避免后端因为跨域或Host校验拒绝请求

2. 确保Angular中的请求路径正确

在你的Angular组件或服务中,发起请求时要使用相对路径/api/demo,而不是直接写后端的完整地址。比如用HttpClient的示例代码:

import { HttpClient } from '@angular/common/http';

// 在组件/服务中注入HttpClient后
this.http.get('/api/demo').subscribe(response => {
  console.log('后端响应:', response);
});

3. 重启Angular服务

务必通过修改后的start脚本启动Angular:

npm start

这个命令会自动加载proxy.conf.json中的代理规则,不要直接用ng serve启动,否则代理配置不会生效。

4. 测试接口

现在你可以直接在浏览器访问http://localhost:4200/api/demo,或者通过Angular应用中的请求调用,应该能看到后端返回的Hello Demo Application了。

如果还是遇到问题,可以排查以下几点:

  • 确认Spring Boot服务确实运行在localhost:8080,并且/api/demo接口可以直接访问(比如用Postman测试http://localhost:8080/api/demo)
  • 打开Angular控制台的网络面板,查看请求是否被正确转发(请求地址显示为http://localhost:4200/api/demo,但实际会转发到8080端口)

内容的提问来源于stack exchange,提问作者Ruchita J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:10:34