通常在向API端点询问JSON时,我会写下这样的内容:
factory('User', function($http) {
return {
get: function() {
return $http.get('/api/users');
}
}
});
但是,如何添加路由参数以获取特定用户(RESTful show method)?
即。 /api/users/1
获得用户一号。但我希望它是基于登录用户的动态。
答案 0 :(得分:3)
您可以使用 $resource
工厂,而不是$http
。正如文档$resource
中所述:
一个工厂,它创建一个允许您与之交互的资源对象 RESTful服务器端数据源。
要做你想做的事,你可以简单地声明:
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);
});
});