Why do get I following error got Angular uiRoute while working with $httpBackend
This is my mock services that gets hit:
$httpBackend.whenGET(editingRegex).respond(function (method, url) {
var parameters = url.split('/');
var length = parameters.length;
var id = parseInt(parameters[length - 1]);
var product = id > 0 ? products.filter(function (elem) {
if (elem.productId === id) {
return elem
}
}) : {'productId': 0};
return [200, product, {}]
});
This is my ui route code
$stateProvider.state('productDetail', {
url: '/products/:productId',
templateUrl: 'app/products/productDetail.html',
controller: 'ProductDetailController as vm',
resolve: {
productResource: 'productResource',
product: function (productResource, $stateParams) {
var productId = $stateParams.productId;
return productResource.get({productId: productId}).$promise;
}
}
});
And this is the exception that I am getting:
productResource is nothing more then
function productResource($resource) {
return $resource('/api/products/:productId');
};
Error: [$resource:badcfg] Error in resource configuration for action
get
. Expected response to contain an object but got an array (Request: GET /api/products/3)
.filters()
sends back an array not an object. There's my violation!