我的服务配置存在问题。我希望通过此功能显示一个用户:
$scope.findOne = function() {
$scope.user = Users.get({
userId: $stateParams.userId
});
};
但我遇到用户服务问题:(我不知道,我应该如何更改代码以避免角度错误:
操作
object
的资源配置出错。预期的回应 包含数组但得到{2}
这是我实际工作服务的代码(当然没有函数findOne工作:))
'use strict';
angular.module('users').factory('Users', ['$resource',
function($resource) {
return $resource('users', {}, {
update: {
method: 'PUT'
},
remove: {
method: 'DELETE',
url: 'users/:id',
params: {id: '@_id'}
}
});
}
]);
答案 0 :(得分:1)
我猜你的users
API端点期待GET请求/users/:userId
。您的代码目前会请求/users?userId=nnn
。您需要为URL中的ID添加get
的操作,例如
return $resource('users', {id: '@userId'}, {
get: {
method: 'GET',
url: 'users/:id',
isArray: false
},
// etc
您也可以将users/:id
设为默认网址,只要它不会干扰您的其他操作配置。