【问题标题】:Nested resources with Restangular使用 Restangular 嵌套资源
【发布时间】:2016-08-23 23:17:16
【问题描述】:

我正在使用 Restangular。在我的应用程序中,我有两个 REST 资源,

  1. 根据 ID 获取用户 /users/123

  2. 获取用户的好友详细信息 users/123/buddies/456

下面是我正在使用的代码,

//get the user 
Restangular.one("users", 123).get().then(function(user){
        $scope.user = user;
});

Restangular 调用 /users/123。到目前为止一切顺利。

//get the buddy
var getBuddy = function(){
     $scope.user.one("buddies", "456").get();
} 

但是在这里,Restangular 调用 /users/buddies/456 而不是 /users/123/buddies/456。

我查看了提供的示例,但没有发现错误。看起来我正在监督显而易见的事情,但这个问题已经让我沮丧了一天多。有人有提示吗?

谢谢,

【问题讨论】:

    标签: angularjs restangular


    【解决方案1】:

    尝试像这样形成 url。

    Restangular.one("users", 123).one("buddies", 456).get().then(function(buddy){
        $scope.buddy = buddy; });
    

    或删除 "456" 的双引号,例如 one("buddies", 456),它应该可以工作。

    【讨论】:

    • 谢谢。这可行,但想法是使用 Restanuglar 返回的用户对象来请求其子资源(伙伴)。 Restangular 的创建者在他的演示文稿中使用了我试图做的事情(请参阅cdn.parleys.com/p/535a189ee4b0c5ba17d43455/…)。但似乎从来没有为我工作。
    • 做这样的事情 var User = function() {return Restangular.one("users", 123).get().then;} 和 var getBuddy = function(User) {return User. one("buddies", 456).get().then;} 使用函数返回的 promise 作为结果。
    【解决方案2】:

    答案就在Restangular documentation

    如果你使用的是 MongoDB,记得配置 id 字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-03
      • 1970-01-01
      相关资源
      最近更新 更多