Ho bisogno di ottenere dati da un'API di riposo, con la parte id prodotto dell'url (e non come parametro di query).
La fabbrica:
.factory('Products', ['$resource',
function($resource) {
return $resource('products/:productId', {
productId: '@id'
}, {
query: {
isArray: false
},
update: {
method: 'PUT'
}
});
}
])
Il controllore:
$scope.getProduct = function(id, from) {
$scope.product = Products.get({ id: id }, function(){
console.log($scope.product);
});
}
mio URL è costruito come:
/products?id=5426ced88b49d2e402402205
invece di:
/products/5426ced88b49d2e402402205
Qualche idea perché?
Grazie mille, è stato! :) – orszaczky
Quindi qual è lo scopo del valore prefisso '@' allora? "Se il valore del parametro è preceduto da @, il valore per quel parametro verrà estratto dalla proprietà corrispondente sull'oggetto' data' (fornito quando si chiama un metodo di azione). Ad esempio, se l'oggetto 'defaultParam' è' {someParam : '@someProp'} 'allora il valore di' someParam' sarà 'data.someProp'." Sembra che dovresti essere in grado di passare un valore 'id' e la risorsa lo userebbe per popolare il parametro' productId'. Ma questo non è il caso. –
Grazie! Mi ha aiutato oggi! –