在enviroment.ts中使用多个api URL

我的Angular应用程序使用经典的enviroment.ts文件作为Angular环境的设置。该文件包含api_url变量,如下所示:

api_url: 'http://localhost:8080/rest'

我还有一个api.service.ts文件,该文件定义了一些通用的HTTP请求,并使用api_url来构建端点路径。例如:

  // Generic GET Method
  get(path: string,options?: {}): Observable<any> {
    return this.http.get(`${environment.api_url}${path}`,options);
  }
  ...
  // POST,PUT...

在我的应用程序中,我需要使用另一个api_url地址访问另一个端点。关于安全性和Angular最佳实践,在Angular 8中实现这一目标的最佳方法是什么?

我的想法是:

  1. 从后端创建一个额外的api调用,并继续使用以下结构
  2. 在Angular上创建通用服务接口,并根据所需的特定服务(第一或第二个api)实现它
  3. api.service.ts复制到api_two.service.ts并将api_two_url = http://my.second.api.adress添加到environment.ts文件

在此先感谢您分享任何想法和建议:-)

qq8023tt 回答:在enviroment.ts中使用多个api URL

根据您的第三个选项是最好的,因为万一将来您必须使用另一个不易实现的api_url。

,

我认为,如果您正在使用微服务,那么第三种选择最合适。但是,如果您不想使用微服务,那么选项2最适合。 谢谢

,

为什么不向您的get函数添加额外的可选参数,您可以在其中传递替代的api_url。像下面这样。

// Generic GET Method
  get(path: string,options?: {},api_url?): Observable<any> {
    return this.http.get(`${api_url ? api_url : environment.api_url}${path}`,options);
  }
  ...

本文链接:https://www.f2er.com/3167540.html

大家都在问