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,只要它不干扰您的其他操作配置即可。