微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Angular + Spring Boot 中配置域或 IP 地址

如何解决如何在 Angular + Spring Boot 中配置域或 IP 地址

我在 Spring 项目的公共文件夹中有一个 Angular 11 应用程序。 Spring 项目在端口 8075 上运行,如果我从 localhost:8075 访问我的应用程序,一切正常。 如果我使用运行 spring 的 ip 地址从另一台机器访问,页面将被加载,但从 Angular 到 spring rest api 的每次调用都会失败,因为每次调用中的 agular 都转到本地主机。 如何在 Angular 中配置 api 调用的 url 以从任何可以解析 ip 的客户端到达 spring rest?换句话说,如果服务器在 10.0.0.1 中运行并且从客户端 10.0.0.2 输入 http://10.0.0.1:8075 angular calls go to 10.0.0.1:8075 而不是 localhost

浏览器:

private urlEndPoint: string = 'http://localhost:8075/api/categorias';
private httpHeaders = new HttpHeaders({'Content-type': 'application/json'})¨

constructor(private http: HttpClient,private router: Router) { }

getCategorias(): Observable<Categoria[]>{
    return this.http.get<Categoria[]>(this.urlEndPoint);
}

谢谢

解决方法

使用角度配置。当您托管 spring 后端时,您有 只更改环境文件中的 baseUrl

environment.prod.ts(用于生产服务器)

export const environment = {
  production: true,baseUrl: 'http://10.0.0.1:8075/api/',};

environment.ts(用于开发服务器)

export const environment = {
  production: false,baseUrl: 'http://10.0.0.1:8075/api/'
};

在 service.ts 中导入

import {environment} from '../../environments/environment';

然后方法 getCategorias() 应该是

getCategorias(): Observable<Categoria[]>{
    return this.http.get<Categoria[]>(environment.baseUrl+"categorias");
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?