如何解决如何在 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 举报,一经查实,本站将立刻删除。