标签: restangular

使用Restangular over ngResource有什么好处?

ngResource已经似乎很简单,以落实事情...

使用Restangular over ngResource有什么优点/缺点?

1.1.3 $resource将返回promises并且可以使用最新的PR提交来实现.是否会提供未来支持$resource以支持Restangular所做的其他动词?如果发生这种情况,Restangular似乎会消失并变得不可靠.

javascript angularjs ngresource restangular

133
推荐指数
2
解决办法
4万
查看次数

为什么我收到错误...意外请求:GET/internalapi/quotes

我在我的角应用中定义了以下服务:

services.factory('MyService', ['Restangular', function (Restangular) {
       return {
           events : { loading : true },

           retrieveQuotes : function() {
               return Restangular.all('quotes').getList().then(function() {
                   return { hello: 'World' };
               });
           }
    };
}]);
Run Code Online (Sandbox Code Playgroud)

我正在编写以下规范来测试它:

describe("MyService", function () {

    beforeEach(module('MyApp'));
    beforeEach(module("restangular"));

    var $httpBackend, Restangular, ms;

    beforeEach(inject(function (_$httpBackend_, _Restangular_, MyService) {
        ms = MyService;
        $httpBackend = _$httpBackend_;
        Restangular = _Restangular_;
    }));


    it("retrieveQuotes should be defined", function () {
        expect(ms.retrieveQuotes).toBeDefined();
    });

    it("retrieveQuotes should return array of quotes", function () {

        $httpBackend.whenGET("internalapi/quotes").respond({ hello: 'World' });
        ms.retrieveQuotes(); …
Run Code Online (Sandbox Code Playgroud)

angularjs restangular

55
推荐指数
2
解决办法
6万
查看次数

Restangular中.all()和.one()之间有什么区别?

这两者有什么区别?两者似乎都对/ users进行了GET并检索它们.

Restangular.one('users').getList().then(function(users) {
    // do something with users
});

Restangular.all('users').getList().then(function(users) {
    // do something with users
});
Run Code Online (Sandbox Code Playgroud)

我知道你可以做一个('用户',123),它将检索/ users/123,但没有第二个参数,它似乎是相同的事情.为什么不在这种情况下只有一种方法?

angularjs restangular

33
推荐指数
2
解决办法
1万
查看次数

Restangular与JSData(以前的Angular数据)的比较

关于Angular的一个特性和复杂性的一点是,它对于如何与RESTful API进行交互并不是很自以为是.我知道有关资源,Restangular以及您自己推出的各种想法.

在一个拥有大量资源(包括各种嵌套)的复杂应用程序中,有理由认为 Restangular优于$ resource; 出于类似的原因,Restangular比滚动自己更好.

直到最近我才看到的一个解决方案是JSData及其AngularJS(repo)的包装器.从Github(~900)的收藏数量来看,如果不使用它,它有相当多的人对它至少感兴趣.它只是Restangular在Github(5k +)上的一小部分,但仍然很重要.

对于那些同时使用Restangular和JSData的人来说,你对它们的比较有什么看法(优点/缺点;目的,可靠性等方面的差异;从文档中可能不太明显的事情)?要使这个问题保持开放,请坚持事实而不是意见.

我从以下内容中得到的印象如下:

Restangular

  • (+)大脑共享
  • (+)高度可定制
  • ( - )焦点似乎只是与RESTful API的实际交互,而不是一旦它返回就自以为是/作为数据存储(如果我错了请纠正我).当然,这可以被认为是一个特征,就像Angular缺乏意见一样.我现在认为这是一个不利因素,因为额外的工作量,这意味着开发人员可以提出自己的解决方案.

JSData

  • (+)不仅适用于REST,还适用于localStorage,localforage,Firebase等,包括自定义适配器
  • (+)设计为缓存数据存储而不必重复HTTP调用(公平地说,缓存也是Restangular的一个选项,尽管可能不那么交织/对其任务至关重要)
  • ( - )尽管开发人员似乎承诺,但并不像以下那样大

javascript angularjs angular-resource restangular angular-data

30
推荐指数
0
解决办法
2480
查看次数

如何使用Restangular通过GET发送参数数组

我必须通过API中的get参数发送一个过滤器数组,如下所示:

/myList?filters[nickname]=test&filters[status]=foo
Run Code Online (Sandbox Code Playgroud)

现在如果我像这样直接发送一个对象:

Restangular.one('myList').get({filters: {
    nickname: 'test',
    status: 'foo'
}});
Run Code Online (Sandbox Code Playgroud)

真正发送的查询是

?filters={"nickname":"test","status":"foo"}
Run Code Online (Sandbox Code Playgroud)

如何发送真正的数组?我应该考虑替代方案吗?

angularjs restangular

27
推荐指数
4
解决办法
2万
查看次数

立即使用AngularJS返回已解决的承诺

我试图了解JavaScript中的承诺(特别是AngularJS).

我在服务中有一个函数,让我们调用它fooService,检查我们是否加载了一些数据.如果有,我只想让它返回,如果我们没有,我们需要加载数据并返回一个承诺:

this.update = function(data_loaded) {
    if (data_loaded) return;  // We've loaded the data, no need to update

    var promise = Restangular.all('someBase').customGet('foo/bar').then(function(data) {
        // Do something with the data here
    }

    return promise;
}
Run Code Online (Sandbox Code Playgroud)

我有另一个函数然后调用这样的update函数fooService:

fooService.update(data_loaded).then(function() {
    // Do something here when update is finished
})
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果我们不需要在update函数中加载数据,则不返回promise,因此.then()不会在我的其他函数中调用.该方法应该在这里 - 基本上我想立即从update()函数返回一个已解决的承诺,如果我们不需要从Restangular调用中获取数据?

javascript promise angularjs restangular angular-promise

25
推荐指数
3
解决办法
2万
查看次数

Restangular:带有包含嵌入数组的对象的getList

在我的AngularJS项目中,我正在尝试使用Restangular getList方法,但它返回一个错误,因为API响应不是直接数组而是包含数组的对象.

{
  "body": [
    // array elements here
  ],
  "paging": null,
  "error": null
}
Run Code Online (Sandbox Code Playgroud)

Restangular错误消息是:

Error: Response for getList SHOULD be an array and not an object or something else
Run Code Online (Sandbox Code Playgroud)

是否有可能告诉Restangular它正在寻找的数组是在body属性内?

angularjs restangular

21
推荐指数
3
解决办法
2万
查看次数

错误:无法实例化模块restangular,原因是:'_'未定义

首次在工作网站上使用Restangular时,我收到以下JavaScript错误:

无法实例化模块restangular,因为:'_'未定义

我错过了什么?'_'未定义是什么意思(在Restangular模块中)?

html javascript angularjs restangular

20
推荐指数
1
解决办法
7606
查看次数

Angular JS中json格式的Restangular POST表单数据

我是Angular JS的新手,我需要使用json格式的表格数据的restangular POST.另外我是POST新功能的新手,谁能告诉我怎么做呢?

我的索引页面:

<form ng-controller="registerCtrl">
 <input placeholder="Username" type="email" name="username"  ng-model="user.email" />
 <input placeholder="Password" type="password" name="password" ng-model="user.password"/>
 <input placeholder="Confirm Password" type="password" name="confirmpassword"  ng-model="user.confirmPassword" />
 <button class="btn btn-info" ng-click="registerUser()" type="submit">Login</button>
</form>
Run Code Online (Sandbox Code Playgroud)

调节器

var myApp=angular.module('myApp',['restangular']);
function registerCtrl($scope, Restangular){
$scope.user = {};
$scope.registerUser=function(){
        $scope.people = Restangular.all('data.json/:user').post($scope.user);
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里我应该将输入值作为Json格式传递.....如果代码错了,请纠正我.....

rest json angularjs restangular

19
推荐指数
1
解决办法
3万
查看次数

Restangular从POST请求获取干净的响应对象

我正在尝试使用Restangular 服务,但我遇到了一个我无法解决的问题.例如,我正在做POST请求,我想获得干净的响应对象,但在我的响应中,对象包装了所有Restangular方法,我知道这可能是一个功能,但我需要我的干净响应:))

 this.Restangular.one("auth").post("login",data).then(function(resp){
                console.log(resp);
                // in response object wrapped all Restangular methods 

            }
Run Code Online (Sandbox Code Playgroud)

javascript angularjs restangular

19
推荐指数
1
解决办法
8066
查看次数