2014-09-27 80 views
3

要求JSON API的端點通常情況下,我會寫這樣的事:

factory('User', function($http) { 
    return { 
     get: function() { 
      return $http.get('/api/users'); 
     } 
    } 
}); 

但是,我怎麼能添加路由參數,以獲得特定用戶(REST風格的表演方法)?

/api/users/1得到第一個用戶。但我希望它是基於登錄用戶的動態。

回答

3

您可以使用$resource工廠而不是使用$http。由於文檔$resource中陳述爲:

一家工廠創建資源對象,讓您與 REST風格的服務器端數據源交互。

做你想做什麼,你可以簡單地聲明它是這樣的:

factory('User', function($resource) { 
    var UserResource = $resource('/api/users/:id'); 
    return UserResource; 
}); 

用法:

.controller('Ctrl', function($scope, User) { 

    // Sends GET /api/users/1 
    User.get({id: '1'}).$promise.then(function(user) { 
    // expects a single user data object 
    console.log(user); 
    }); 

    // Sends GET /api/users 
    User.query().$promise.then(function(users) { 
    // expects an array of user data objects 
    console.log(users); 
    }); 
}); 
+0

偉大的作品,感謝 – 2014-09-27 06:53:20

+0

我知道:P在等待時間限制。再次感謝 – 2014-09-27 07:00:37