Jak podano w dokumentacji $resourceparamDefaults
:
Biorąc szablon/ścieżka /: czasownik i parametr {czasownik: 'witam', pozdrowienie: 'Hello'} powoduje URL/path/greet? salutation = Cześć.
Jeżeli wartość parametru jest poprzedzona @ Następnie wartość dla tego parametru będzie ekstrahowano z odpowiednimi właściwościami obiekcie danych (pod warunkiem, gdy wywołanie sposób działania). Na przykład, jeśli przedmiotem defaultParam wynosi {someParam: „@someProp”}, to wartość someParam będzie data.someProp
Sugeruje to, że każdy czasownik zdefiniowane w adresie URL, który odpowiada parameterizd klucze zdefiniowane w Parametr domyślny $resource
lub metody klasy class (get, save, etc ..) będą miały odpowiednią wartość tego klawisza, zastępując czasownik w adresie URL. Znakiem „@” notacja z drugiej strony, nie zostało wyjaśnione właściwie w tym kontekście powinno być:
Jeśli wartość parametru jest poprzedzona @ następnie wartości dla tego parametru zostaną wyodrębnione z odpowiednich właściwość obiektu danych (pod warunkiem wywołania metody działania instancji).
metody działania instancji (get $, $ uratować $ usuwanie, etc ..), to metody, które są wykorzystywane do danych obiektów pobierane za pomocą $resource
metod działania klasy. Są one zazwyczaj pomocne podczas łączenia żądań z tymi samymi zasobami.
EXAMPLE DEMO
Załóżmy, że cars/abc
zwraca json reakcji:
{
"id": "abc"
}
Przeczytaj komentarze pokazujące reakcje każdym wywołaniu metody działania.
var myCarResource = $resource('cars/:carId',
{
carId:'@id'
});
// This sends a GET request '/cars/?id=abc
myCarResource.get({id:'abc'});
// This sends a GET request '/cars/abc'
myCarResource.get({carId:'abc'}); // returns {"id": "abc"}
myCarResource.get({carId:'abc'}).$promise.then(function(car) {
// sends a POST request '/cars/abc', it replaces the :carId verb from the
// @id notation you have defined in the parameter default. It also sends,
// other parameter defaults defined with '@' that are defined as verbs in the url.
car.$save();
});
Może być to może pomóc http://stackoverflow.com/questions/16677487/angularjs-resource-builds-wrong-resource-url – Yalamber