【问题标题】:Calling rest API within AngularJS & restangular在 AngularJS 和 restangular 中调用 rest API
【发布时间】:2019-07-01 03:27:25
【问题描述】:

我有一个 API 方法需要在我的 UI 中调用,但不确定最好的方法。谁能指出我正确的方向?使用restangular和angularJS。我应该创建一个服务,然后调用其中的 API,然后在我的控制器中引用它吗?请让我知道,谢谢。

【问题讨论】:

    标签: angularjs rest api angular-services angularjs-service


    【解决方案1】:

    分别维护服务层、dao层、视图层是最佳实践。 你可以看看Design Pattern

    【讨论】:

      【解决方案2】:

      我的做法是这样的。 1.先做一个共享服务(shared.service.ts)。

      1. 在服务内部创建一个方法,然后调用其余的api
        getData():Observable<any>{
          return this.http.get(localhost:8000/api/data);
        }
      
      

        getData(){
          return this.http.get(localhost:8000/api/data);
        }
      
      
      1. 将服务注入到您要使用的组件中
      constructor (private sharedService:SharedService){}
      
      1. 订阅服务中定义的方法到要调用api的函数
        this.sharedService.getData().subscribe(response => {});
      
      

      【讨论】:

      • 你能解释一下#2中的语法吗? Observable 部分
      • 你可以像 ```` getData():{ return this.http.get(localhost:8000/api/data); 这样使用} ````
      • 'Observable' 不是强制性的。它正在定义返回类型。由于我们调用的是 http 请求,因此请求类型将是 Observable。 “”表示数据类型。由于返回类型可以是字符串、对象或数字。所以我们定义为“任何”。不需要返回类型。没有它,它也将起作用。我已经编辑了答案
      • 明白了,谢谢。我的团队正在为其他 API 调用使用“资源”文件,这在 restangular 中是否正常?
      • 资源文件(或)服务文件,都是同一个概念。所有组件所需的数据都在这些文件中。这个概念对于所有框架都是相同的。 api 调用将写入单独的文件,以便所有其他文件可以通过注入访问它。明白了吗?
      猜你喜欢
      • 1970-01-01
      • 2013-06-19
      • 1970-01-01
      • 2014-09-22
      • 2016-10-29
      • 2014-04-25
      • 2015-11-07
      • 2018-09-14
      • 2017-02-19
      相关资源
      最近更新 更多