AngularJS 响应与配置的参数不匹配
AngularJS Response does not match configured parameter
我遇到了服务配置问题。我想通过这个功能显示一个用户:
$scope.findOne = function() {
$scope.user = Users.get({
userId: $stateParams.userId
});
};
但是我在用户服务方面遇到了麻烦:(我不知道,我应该如何更改我的代码以避免 angular 错误:
Error in resource configuration for action object
. Expected response
to contain an array but got an {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'}
}
});
}
]);
我猜测,您的 users
API 端点需要 /users/:userId
GET 请求。您的代码目前将请求 /users?userId=nnn
。您需要使用 URL 中的 ID 添加 get
的操作,例如
return $resource('users', {id: '@userId'}, {
get: {
method: 'GET',
url: 'users/:id',
isArray: false
},
// etc
您也可以将 users/:id
设置为默认值 URL,只要它不干扰您的其他操作配置即可。
我遇到了服务配置问题。我想通过这个功能显示一个用户:
$scope.findOne = function() {
$scope.user = Users.get({
userId: $stateParams.userId
});
};
但是我在用户服务方面遇到了麻烦:(我不知道,我应该如何更改我的代码以避免 angular 错误:
Error in resource configuration for action
object
. Expected response to contain an array but got an {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'}
}
});
}
]);
我猜测,您的 users
API 端点需要 /users/:userId
GET 请求。您的代码目前将请求 /users?userId=nnn
。您需要使用 URL 中的 ID 添加 get
的操作,例如
return $resource('users', {id: '@userId'}, {
get: {
method: 'GET',
url: 'users/:id',
isArray: false
},
// etc
您也可以将 users/:id
设置为默认值 URL,只要它不干扰您的其他操作配置即可。