繁体   English   中英

在Angular中为开发目的创建虚拟$ resource的最佳方法是什么?

[英]What's the best way to create a dummy $resource for development purposes in Angular?

我正在开发依赖REST API的Angular应用程序(实际上是Ionic应用程序)。 为了与API通信,我将$resource注入到控制器中。

我现在想专注于应用程序,以后再担心后端—因此,我想为我的各种$resource创建虚拟版本。 例如,我的虚拟Products $ resource将包含一些示例产品记录(硬编码为JSON),并且将支持/模仿实际 $resource最终将支持的相同CRUD操作。

换句话说,它与此类似,但是将模仿与$resource相同的API(承诺,错误处理等)。

显然,我可以针对此问题推出自己的解决方案-但可以肯定的是,这已经解决了。 标准方法是什么?

(我在这方面做了大量的Google搜索,但是我发现的所有内容都涉及单元测试和测试框架,而我对此几乎一无所知。无论如何,这似乎是一个与我要解决的问题略有不同的问题。我还看到了很多有关$httpBackend -但是(1) $httpBackend了较低级别的$http服务,而不是$resource ,这是我所需要的,并且(2)它似乎是要用于单元测试,这不是我想要做的。)

我终于找到了一个在没有单元测试的情况下使用$httpBackend的示例

本质上,您可以将$httpBackend注入模块的run()方法中,如下所示:

app.run(function($httpBackend) {

  var phones = [{name: 'phone1'}, {name: 'phone2'}]; 

  $httpBackend.whenPOST('/phones').respond(function(method, url, data, headers){
    console.log('Received these data:', method, url, data, headers);
    phones.push(angular.fromJson(data));
    return [200, {}, {}];
  });

  $httpBackend.whenGET('/phones').respond(function(method,url,data) {
    console.log("Getting phones");
    return [200, phones, {}];
  });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM